Junk Javascript и Css код с простым html dom-парсером - PullRequest
0 голосов
/ 04 апреля 2020

Я использую простой html dom parser для анализа ссылки с php. Ниже URL-адреса и php кода, который я использую.

URL:

https://homeshopping.pk/products/-Imported-Stretchable-Tights-For-Women--Pack-Of-3-.html

PHP Сценарий:

$html = file_get_html('https://homeshopping.pk/products/-Imported-Stretchable-Tights-For-Women--Pack-Of-3-.html');

foreach($html->find('div#ProductDescription_Tab') as $description)
{
    $comments = $description->find('.hsn_comments', 0); 
      $comments->outertext = ''; 

     print $description->outertext ;

}

Проблема заключается в том, что после запуска Скрипт, который я получаю, как хочу, но при просмотре исходного кода страницы содержит много javascript и css ненужного кода. Это нормально? Не могу ли я получить только теги html без дополнительного кода css или javascript ?. Ниже приведены изображения источника моей страницы просмотра php скрипта после его запуска.

https://imgur.com/a/0SGeox5

1 Ответ

1 голос
/ 07 апреля 2020

Если вы используете последнюю версию simpleHTMLDom, вы можете использовать функцию remove(). Вот пример кода на основе вашего существующего кода

$html = file_get_html('https://homeshopping.pk/products/-Imported-Stretchable-Tights-For-Women--Pack-Of-3-.html');

foreach($html->find('div#ProductDescription_Tab') as $description)
{
    $comments = $description->find('.hsn_comments', 0); 
      $comments->outertext = ''; 
    //remove div with script 
    $description->find('div#flix-minisite',0)->remove();
    $description->find('div#flix-inpage',0)->remove();

    //will remove all <script> tags
    foreach($description->find('script') as $s) $s->remove();

    //wil remove all <style> tags
    foreach($description->find('style') as $s) $s->remove();
     echo $description->innertext ;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...