]>
Commit | Line | Data |
---|---|---|
0c83fd59 J |
1 | <?php |
2 | ||
3 | namespace Wallabag\CoreBundle\Tools; | |
4 | ||
5 | class Utils | |
6 | { | |
7 | /** | |
4346a860 | 8 | * Generate a token used for RSS. |
0c83fd59 | 9 | * |
23afdf3a | 10 | * @param int $length Length of the token |
7a0e6970 | 11 | * |
0c83fd59 J |
12 | * @return string |
13 | */ | |
7a0e6970 | 14 | public static function generateToken($length = 15) |
0c83fd59 | 15 | { |
7a0e6970 | 16 | $token = substr(base64_encode(random_bytes($length)), 0, $length); |
0c83fd59 | 17 | |
132f614d | 18 | // remove character which can broken the url |
4094ea47 | 19 | return str_replace(['+', '/'], '', $token); |
0c83fd59 | 20 | } |
6eebd8c9 JB |
21 | |
22 | /** | |
23 | * For a given text, we calculate reading time for an article | |
6682139e | 24 | * based on 200 words per minute. |
6eebd8c9 JB |
25 | * |
26 | * @param $text | |
27 | * | |
28 | * @return float | |
29 | */ | |
30 | public static function getReadingTime($text) | |
31 | { | |
5b6888b1 | 32 | return floor(count(preg_split('~[^\p{L}\p{N}\']+~u', strip_tags($text))) / 200); |
6eebd8c9 | 33 | } |
0c83fd59 | 34 | } |