Как я могу очистить встроенный css?

Я использую скрипт simple_html_dom для получения информации с сайта.

Я пытаюсь очистить элемент со свойством display: none.

Вот элемент:

<label data-product-attribute-value="1307" class="form-label" for="attribute_1307" style="display: none;">This is the title</label>

Как я могу определить, что этот тег содержит встроенный CSS display: none;?

Вот мой код:

$html  = get_html_data($url);
foreach ($html->find('.form-label') as $links) {
   echo $links->outertext;
}

$links->outertext дает мне только это:

<label data-product-attribute-value="1307" class="form-label" for="attribute_1307">This is the title</label>

Вы можете видеть, что это не включает свойство стиля при очистке.

Итак, как я могу получить встроенное свойство CSS? Если мне нужно использовать другую библиотеку, пожалуйста, предложите.


person rohit kaushal    schedule 15.07.2017    source источник


Ответы (2)


Вы можете получить style, используя ->style. Попробуй это:

foreach ($html->find('.form-label') as $links) {
   echo ($links->style); //op : display: none;
}
person B. Desai    schedule 15.07.2017

Выполнимо для меня, как и ожидалось:

<?php
$html = <<< HTML
<label data-product-attribute-value="1307" class="form-label" for="attribute_1307" style="display: none;">
This is the title
</label>
HTML;

$dom = new DOMDocument;
$dom->loadHTML($html);
echo (   $label->hasAttribute('style')
      && preg_match('/display:\s*none/', $label->getAttribute('style')) ) ?
    "display set to 'none'" : "display NOT set to 'none'";

Вывод, очевидно, таков:

display set to 'none'
person arkascha    schedule 15.07.2017
comment
Спасибо за ваше предложение. Я обнаружил, что file_get_html также не получает свойство стиля для этой конкретной метки. Я получаю свойство стиля для нескольких элементов, но не для всех. Я также использую curl, чтобы удалить весь HTML-код через URL-адрес, но возникает та же проблема. Пожалуйста, предложите. - person rohit kaushal; 15.07.2017