php:从字符串的开头和结尾删除<p>,</ p>,<br>和<br />

And*_* SK 2 php xhtml

救命...

$chars = " \t\n\r\0\x0B";
$pattern = '('.implode('|',array_map('preg_quote',array('<p>','</p>','<br />','<br>'))).')'."\b";
$data = trim(preg_replace('~'.$pattern.'$~i','',preg_replace('~^'.$pattern.'~i','',trim($data,$chars))),$chars);
Run Code Online (Sandbox Code Playgroud)

该代码设置为<p>,</p>,<br> and <br />从html字符串的开头和结尾删除所有代码.但它没有正常工作.有任何想法吗?

irc*_*ell 6

为什么不使用这样的东西:

$subpattern = '(<(br|p)[^>]*>)';

$pattern = '~(^'.$subpattern.'|'.$subpattern.'$)~i';
Run Code Online (Sandbox Code Playgroud)

然后,您需要做的就是:

$data = trim(preg_replace($pattern, '', $data), $chars);
Run Code Online (Sandbox Code Playgroud)