如何删除html中的纯文本

时间:2014-02-03 14:52:28

标签: php trim strip-tags

有人可以帮我删除html内容中的修剪/删除纯文本吗?

例如

;来自这个HTML:

lorem ipsum xxx lorem ipsum
orem ipsum yyy
lorem ipsum lorem ipsum zzz
<img src=ijustwantthisline.jpg>
<br/>
<img src=ijustwantthisline.jpg>

我只想获得html行;如:

<img src=ijustwantthisline.jpg>
<br/>
<img src=ijustwantthisline.jpg>

就像strip_tags;我需要strip_text等......

2 个答案:

答案 0 :(得分:0)

这将找到所有标签,然后将它们添加到$ tag。因为它只查找标签,所以它与纯文本不匹配。 $ string是你提供的字符串,$ tags是你想要的html行。

preg_match_all('/(<.*?>)/', $string, $matches);
$tags = implode($matches[0]);

答案 1 :(得分:0)

你的问题很不清楚。但是,有很多方法可以删除html页面上的元素。

<?php
$html = "abc<p></p><p>dd</p><b>non-empty</b>"; 
$pattern = "/<p[^>]*><\\/p[^>]*>/"; 
//$pattern = "/<[^\/>]*>([\s]?)*<\/[^>]*>/";  use this pattern to remove any empty tag

echo preg_replace($pattern, '', $html); 
// output
//abc<p>dd</p><b>non-empty</b>
?>

如果您可以绝对保证HTML中没有尖括号,而不是用于打开和关闭标签的尖括号,这应该有效:

s%(>|\G)([^<]*?)($key)%$1$2<b>$3</b>%g