Intereting Posts
Работает среда Symfony2, среда prod дает ошибку 404 Вход в систему / выход из системы с помощью LightOpenID Функциональный тест – служба Mock не сохраняется в сервисном контейнере Kohana 3.2 Route – контроллеры в подкаталогах Как сделать регистр strpos нечувствительным Как получить объект (stdClass) из массива Нужна помощь в разделении строки в переменной и присвоении ее частей массиву Как читать XML-файл и извлекать из него значения для отображения в HTML-кодированной HTML-странице как я могу открыть файл в zip-файле, не извлекая его из PHP Дополнительные таблицы в базе данных WordPress Symfony 2 – расширенный класс Entity PDO «Необрученное исключение» PDOException ».. Невозможно выполнить запросы, в то время как другие небуферизованные запросы активны. Рассмотрим использование PDOStatement :: fetchAll (). " Создание сводного отчета о полосе Получайте товары из интернет-магазина, используя простой парсер и разбиение на страницы Сообщения WordPress по почте

PHP простой html DOM удаляет все атрибуты из тега html

$html = file_get_html('page.php'); foreach($html->find('p') as $tag_name) { $attr = substr($tag_name->outertext,2,strpos($tag_name->outertext, ">")-2); $tag_name->outertext = str_replace($attr, "", $tag_name->outertext); } echo $html->innertext; 

Выше приведен код, который я написал, чтобы взять то, что находится внутри всех тегов <p> на моей странице html, и удалить их.


Мой html-код похож на этот:

 <p class="..." id = "..." style = "...">some text...</p> <p class="..." id = "..." style = "...">some text...</p> <p class="..." id = "..." style = "...">some text...</p> <font> <p class="..." id = "..." style = "...">some text ...</p> <p class="..." id = "..." style = "...">some text ...</p> </font> <p class="..." id = "..." style = "...">some text...</p> 


Если я запустил PHP-код, результатом будет следующее:

 <p>some text...</p> <p>some text...</p> <p>some text...</p> <font> <p class="..." id = "..." style = "...">some text ...</p> <p class="..." id = "..." style = "...">some text ...</p> </font> <p>some text...</p> 

Он не удаляет атрибуты тегов <p> которые находятся внутри <font> .
Если кто-нибудь сможет мне помочь, я буду признателен.

Related of "PHP простой html DOM удаляет все атрибуты из тега html"

Когда я использую ваш код и пример HTML, он удаляет все атрибуты из всех тегов <p> , даже те, что внутри <font> , поэтому я не уверен, почему вы не работаете.

Но похоже, что у simplehtmldom есть методы, которые специфически относятся к атрибутам, поэтому вам не нужно использовать строковые функции:

 $html = file_get_html('page.php'); foreach($html->find('p') as $p) { foreach ($p->getAllAttributes() as $attr => $val) { $p->removeAttribute($attr); } } echo $html->innertext; 

Надеюсь, это будет более эффективно.