]> git.immae.eu Git - github/wallabag/wallabag.git/blob - src/Wallabag/CoreBundle/Tools/Utils.php
Merge pull request #1 from wallabag/master
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Tools / Utils.php
1 <?php
2
3 namespace Wallabag\CoreBundle\Tools;
4
5 class Utils
6 {
7 /**
8 * Generate a token used for Feeds.
9 *
10 * @param int $length Length of the token
11 *
12 * @return string
13 */
14 public static function generateToken($length = 15)
15 {
16 $token = substr(base64_encode(random_bytes($length)), 0, $length);
17
18 // remove character which can broken the url
19 return str_replace(['+', '/'], '', $token);
20 }
21
22 /**
23 * For a given text, we calculate reading time for an article based on 200 words per minute.
24 *
25 * @param string $text
26 *
27 * @return float
28 */
29 public static function getReadingTime($text)
30 {
31 return floor(\count(preg_split('~([^\p{L}\p{N}\']+|(\p{Han}|\p{Hiragana}|\p{Katakana}|\p{Hangul}){1,2})~u', strip_tags($text))) / 200);
32 }
33 }