你想获得的字符数,但你不想算HTML标记。
您可以通过使用HTML解析器,像这样做DOMDocument 。 您加载文档(或片段),获得body标签代表的文档中的内容,得到它在nodeValue ,规范它的空白,然后你使用UTF-8兼容的字符计数功能:
$doc = new DOMDocument();
$doc->loadHTMLFile('test.html');
$body = $doc->getElementsByTagName('body')->item(0);
$text = $body->nodeValue;
$text = trim(preg_replace('/\s{1,}/u', ' ', $text));
printf("Length: %d character(s).\n", mb_strlen($text, 'utf-8'));
例如输入test.html :
![ph1.jpg](../../../../includes/ph1.jpg)
1a. Nice to meet you!
swfobject.registerObject('FlashID');
示例输出:
Length: 58 character(s).
该标准化文本是:
1a. Nice to meet you! swfobject.registerObject('FlashID');
请注意,本计算文本大小包括像内文