删除PHP中的html代码内容,如<p> </p>

时间:2014-11-19 05:22:25

标签: php regex

我想删除内容中的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 

2 个答案:

答案 0 :(得分:2)

更改您的代码,如下所示

$plaintext = preg_replace('%<p\K\s+[^<>]*%i', '', $plaintext);

DEMO

  • \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);