Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Регулярное выражение: Как посчитать \s не попадающие в теги ???

27K
14 июля 2007 года
антигерой
7 / / 14.07.2007
Надо посчитать пробелы и группы пробелов, не попадающих в теги, проще говоря всё вот такое:
> те пробелы, что здесь в тексте, a не в тегах <

Составил такое выражение:
preg_match_all( "/(?<=\>)([\s]{1,})(?=\<)/", $row->text, $arraymatch5, PREG_OFFSET_CAPTURE);

И оно работает, но почему-то не так какта работает. Тоесть на текст в 50К примерно - получается около 100 пробелов, что не может быть.
Где косяк ? (про ДНК я сам знаю 8-)
9.0K
17 июля 2007 года
Toxin_F
93 / / 03.01.2007
Цитата:
И оно работает, но почему-то не так какта работает


Оно вообще не работает, чуть поковырял пока только такое пришло на ум:

 
Код:
preg_match_all('/\s/', preg_replace('@<[\/\!]*?[^<>]*?>@', '', $text), $arrmatch, PREG_OFFSET_CAPTURE);

попозже может что-то стоющее найду
31K
23 июля 2007 года
d3m0n
1 / / 23.07.2007
мне кажеться, что это можно организовать проще и код будет работать быстрее. вот пример:
 
Код:
$str = '<html><body>this is simple text <img str="111.jpg" />with spaces.</body></html>';
$array_words = explode( ' ', strip_tags($str) );
$spaces = count($array_words)-1;
echo $spaces; //5

count($array_words)-1 - здесь минус 1, потому что в массиве кол-во слов, а не пробелов между ними =)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог