2010-06-11 5 views
2

aide ...php: supprimer <p>,</p>, <br> et <br /> du début et de fin de la chaîne

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

Ce code est de supprimer tous <p>,</p>,<br> and <br /> dès le début et à la fin d'une chaîne html. Mais ça ne marche pas très bien. Des idées?

Répondre

6

Pourquoi ne pas simplement utiliser quelque chose comme ceci:

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

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

Ensuite, tout ce que vous devez faire est:

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

grand! bien que, j'ai dû modifier le sous-masque à: $ subpattern = '(] *>)'; – andufo

Questions connexes