Регулярное выражение: Как посчитать \s не попадающие в теги ???
> те пробелы, что здесь в тексте, a не в тегах <
Составил такое выражение:
preg_match_all( "/(?<=\>)([\s]{1,})(?=\<)/", $row->text, $arraymatch5, PREG_OFFSET_CAPTURE);
И оно работает, но почему-то не так какта работает. Тоесть на текст в 50К примерно - получается около 100 пробелов, что не может быть.
Где косяк ? (про ДНК я сам знаю 8-)
Цитата:
И оно работает, но почему-то не так какта работает
Оно вообще не работает, чуть поковырял пока только такое пришло на ум:
Код:
preg_match_all('/\s/', preg_replace('@<[\/\!]*?[^<>]*?>@', '', $text), $arrmatch, PREG_OFFSET_CAPTURE);
попозже может что-то стоющее найду
Код:
$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
$array_words = explode( ' ', strip_tags($str) );
$spaces = count($array_words)-1;
echo $spaces; //5
count($array_words)-1 - здесь минус 1, потому что в массиве кол-во слов, а не пробелов между ними =)