2014-05-20 73 views
0

我搜索并搜索了,由于某种原因,我找不到任何解决方案。用于剥离HTML标记和内容的正则表达式

这是我目前的文字:

​​

这就是我想要的东西:

Lorem ipsum sit. 

要使用HTML解析器。我只想使用一个简单的正则表达式来删除HTML标签及其内容。

回答

0

尽管@汤米的答案适合你,那regex对于你想做的事实在太复杂了。 你可以简单地这样做:

$str = "Lorem ipsum <strong>dolor</strong> sit <i>amet</i>."; 

$r = preg_replace("/ <\S*>/", "", $str); 

echo $r; 
#=> Lorem ipsum sit. 
+0

不错。我只是从strip_tags()文档中的注释中提取了正则表达式。这看起来更好。 –

1

与全局标志一起使用的正则表达式将匹配html标签和html标签内的文本。

<[\/\!]*?[^<>]*?>[A-Za-z0-9.,;:]*<[\/\!]*?[^<>]*?> 
+0

'strip_tags'只是解开内容。我想要的内容也一样。 – user3650808

+0

您的问题已经在这里得到解答http://stackoverflow.com/questions/1516085/strip-html-tags-and-its-contents –

+0

这两个答案使用HTML解析器,我不想使用的东西。 – user3650808

0
preg_replace('/(<.*?>)|(&.*?;)/', '', $string) 

这一个效果很好的我。它去除了所有的HTML标签和特殊的HTML字符。希望这可以帮助。