2010-06-11 56 views
2

帮助的结尾处,删除PHP:从开始和字符串



...

$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); 

该代码被设置为删除从HTML字符串的开头和结尾都<p>,</p>,<br> and <br />。但它没有工作很好。有任何想法吗?

回答

6

为什么不使用这样的事情:

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

$pattern = '~(^'.$subpattern.'|'.$subpattern.'$)~i'; 

然后,所有你需要做的是:

$data = trim(preg_replace($pattern, '', $data), $chars); 
+0

太棒了!虽然,我不得不修改子模式:$ subpattern ='(] *>)'; – andufo 2010-06-11 22:21:11

相关问题