Как извлечь блоки текста из HTML-страницы?
Я хотел бы извлечь блоки текста с более чем 100 словами из большой HTML-страницы, используя PHP. Содержится ли текст в <p>...</p>
не имеет значения Меня интересует только количество слов, которые составляют целостный текстовый блок, поэтому тексты вне абзацев HTML также должны быть приняты во внимание.
Как это может быть сделано?
2 ответа
Решение
Я использую phpQuery. Вы знакомы с jQuery? они имеют одинаковый синтаксис. Вы можете быть обеспокоены установкой новой библиотеки, но, поверьте мне, эта библиотека стоит дополнительных затрат.
phpQuery
Вы можете получить к нему доступ следующим образом:
foreach($doc->find('p') as $element){
$element = pq($element);
echo str_word_count($element->text());
}
Используйте PHP Simple DOM Parser.
foreach($html->find('p') as $element){
echo str_word_count($element->src);
}