2013-06-13 3 views
2

У меня есть следующее из веб-сайта, который я читаю, но, к сожалению, содержимое также содержит теги шрифтов и может содержать другое встроенное форматирование в будущем. Я использую PHPQuery для этого, но работает только PHP-решение.Как удалить все форматирование из некоторого HTML

<p> 
<font 
color="#cc0000"> 
    <font 
    color="#000000">Content</font> 
     </font> 
</p> 
<p>Content</p> 
<p> 
    <font 
    color="#cc0000">Content I wish to keep but font should be removed</font> 
</p> 
<p> 
    <font 
    color="#cc0000">Content I wish to keep but font should be removed</font> 
</p> 
<p> 
    <font 
    color="#cc0000">Content I wish to keep but font should be removed</font> 
</p> 
<p> 
    <font 
    color="#cc0000">Content I wish to keep but font should be removed</font> 
</p> 
<p> 
    <font 
    color="#000000">Content I wish to keep but font should be removed</font> 
</p> 
<p>Content</p> 
</div> 
+0

PHPQuery использует селектор стиля JQuery, поэтому я включил тэг jquery. –

+3

Почему вы не используете strip_tags? – Robert

+0

Скопируйте и вставьте через блокнот с обычного пользователя – Kickaha

ответ

4

strip_tags();

strip_tags ($str, '<p><div>'); 

В этой строке будут удалены все теги, кроме P и DIV. Вы можете добавить дополнительные атрибуты для второго аргумента.

Пример из php.net

<?php 
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; 
echo strip_tags($text); 
echo "\n"; 

// Allow <p> and <a> 
echo strip_tags($text, '<p><a>'); 
?> 

Приведенный выше пример выведет:

Test paragraph. Other text 
<p>Test paragraph.</p> <a href="#fragment">Other text</a> 
2

Предполагая, что содержание находится в переменной:

$content = strip_tags($str, '<p><div>'); 
+1

А, Роберт избил меня. –

+0

ха-ха да я сделал: P – Robert

1

Путь phpQuery мог бы выглядят так:

while($font = $dom->find('font')->eq(0)){ 
    if(0 === $font->size()) break; // to prevent a strange phpquery bug 
    $font->replaceWith($font->text()); 
} 
+0

спасибо. Интересно посмотреть, как это было бы сделано в PhpQuery. –

Смежные вопросы