2014-05-20 67 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字符。希望這可以幫助。