2012-01-10 13 views
9

Vorrei un'espressione regolare in PHP per trovare tutte le entità HTML come "<br /> <br /> ..etc. " per rimuoverle da una stringa lunga.Sostituisci entità HTML con espressione regolare

+1

Rimuovere completamente o sostituire con i loro valori di carattere? –

+1

Hai mai fatto un tentativo per risolverlo da solo, se sì, cosa ti è venuto in mente? – zrvan

risposta

-1

Provare a utilizzare la funzione strip_tags, regex non è necessario qui

+0

Upvoting di questa risposta; c'è già una funzione collaudata per questo, non fare più lavoro per te! – Rohaq

+6

-1, 'strip_tags()' rimuove * tag *, non html, come '<' e '>'. – zrvan

17

Questo rimuove alfa, decimale e esadecimale HTML entità:

$text = preg_replace('/&(?:[a-z\d]+|#\d+|#x[a-f\d]+);/i', '', $text); 
-1

Provare a usare questa espressione regolare ... il [^ \ s] * uno stava catturando un sacco di altre sciocchezze ...

$text = preg_replace("/&(?:[a-z0-9]{2,8}|#[0-9]{2,3}+);/i", '', $text);