我想删除内容中的html标记
。
//Input like these
<p class="wp-caption-text">Hello World</p><p style="text-align: justify;">Welcome to PHP</p>
//Output like
<p>Hello World</p><p>Welcome to PHP</p>
我必须用什么来解决这些问题?请任何人帮助我。
//I used these regex but it's not completely work.
$plaintext = preg_replace('%style="[^"]+"%i', '', $plaintext);
//what i have to add here
答案 0 :(得分:2)
更改您的代码,如下所示
$plaintext = preg_replace('%<p\K\s+[^<>]*%i', '', $plaintext);
\K
会丢弃之前匹配的字符。\s+
匹配一个或多个空格。[^<>]*
匹配任何字符,但不匹配<
或>
零次或多次。答案 1 :(得分:1)
(?<=<p)([^>]+)
试试这个。empty string
。见。演示。
http://regex101.com/r/lZ5mN8/27
$re = "/(?<=<p)([^>]+)/m";
$str = "<p class=\"wp-caption-text\">Hello World</p><p style=\"text-align: justify;\">Welcome to PHP</p>";
$subst = "";
$result = preg_replace($re, $subst, $str);