Calculate.php
687 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace WPML\TM\ATE\TranslateEverything\TranslatableData;
class Calculate {
const AVERAGE_CHARS_PER_WORD = 5;
/**
* @param string $content
*
* @return int
*/
public function chars( $content ) {
$content = strlen(
preg_replace(
[
'/[^@\s]*@[^@\s]*\.[^@\s]*/', // Emails.
'/[0-9\t\n\r\s]+/', // Spaces.
],
'',
wp_strip_all_tags(
strip_shortcodes(
htmlspecialchars_decode( $content )
)
)
)
);
return ! $content
? 0
: $content;
}
/**
* @param string $content
*
* @return int|float
*/
public function words( $content ) {
return $this->chars( $content ) / self::AVERAGE_CHARS_PER_WORD;
}
}