Верный подсчёт количества символов

lelik17

Новичок
Есть задача: посчитать количество символов с пробелами в статье. Но почему-то резльтат из php-скрипта постоянно отличается от результата из MS Word. В чём подвох? Статья представляет из себя текст + html. Считаю вот так:

function count_symbols($text) {
$text = htmlspecialchars_decode($text);
$text = strip_tags($text);
$text = trim($text);
$symb = mb_strlen($text, "UTF-8");
return $symb;
}

Для примера: проверил одну и ту же статью в в ворде и этой функцией:

Ворд: 1990 символов
Скрипт: 2124 символов

Если надо, могу скинуть статью.
 

shelestov

я тут часто
Вы уверены, что после strip_tags не появляется лишних пробелов или переносов строки?
У вас статья в word-е тоже в html? :)
 

shelestov

я тут часто
Не понял вопроса. Статья читается из MySQL-базы. Вот первое предложение: "<p>Наше время – время скоростей." В ворде проверял "Наше время – время скоростей."
Ну так приведите html-спецсимолы в нормальный вид.
 

shelestov

я тут часто
Ну так распечатайте переменную $text на каждом этапе преобразования и посмотрите визуально разницу.
Разница не очень большая. Может быть из-за лишних пробелов, переносов. Дебажить надо визуально.
 
  • Like
Реакции: craz

lelik17

Новичок
Да, действительно в тексте почему-то остаются –, « не подскажите какой функцией от них можно избавиться?
 

lelik17

Новичок
Нашёл, html_entity_decode()
Но всё равно есть разница в 7 символов. Ума не приложу откуда она берётся :)
 
  • Like
Реакции: craz

shelestov

я тут часто
Нашёл, html_entity_decode()
Но всё равно есть разница в 7 символов. Ума не приложу откуда она берётся :)
Возможно:
- лишнии пробелы
- лишнии переводы строк

Еще раз повторяю, визуальный дебаг вас спасет. Смотите внимательно, посимвольно.
 

shelestov

я тут часто
Как вариант можете написать скриптик и сравнить посимвольно расхождения между текстом из ворда и базы :)
 
Сверху