Как извлечь блоки текста из 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);
}
Другие вопросы по тегам