Domanda

Voglio ripulire un testo analizzato come

\ n dette r \ n \ r \ n \ r \ \ n guardo nei tuoi occhi la mia cara \ r \ n \ r \ nI vedere foreste verdeggianti \ r \ n \ r \ nI vedere il lontano Sky \ r \ n \ r \ Nthey girare sotto la pioggia \ r \ n \ r \ n \ r \ nI vedi alta impennata aquile ... more \ n

Quindi voglio sbarazzarsi del "\ n", "\ r \ n", "\ r \ n \ r \ n", "\ r \ n \ r \ n \ r \ n", " \ r \ n \ r \ n \ r \ n \ r \ n" e "\ r". Ecco tutte le combinazioni che appaiono nel mio testo analizzato.

C'è un modo per fare questo in php?

È stato utile?

Soluzione

Che dire

$text = str_replace(array("\n", "\r"), '', $text);

che rimuoverà tutti i caratteri di nuova riga.

Se li volete come nuove linee, mi piacerebbe cambiare la sostituzione di <br /> per HTML (o meglio ancora, utilizzare nl2br() di PHP), oppure standardizzare in testo normale con \n, per esempio.

Altri suggerimenti

Se si desidera solo 1 nuova riga invece di più vorrei suggerire questo:

$clean = preg_replace(array("/\r+/","/(\n){2,}/"),array("","\n"),$text);

In caso contrario str_replace per togliere a capo o nl2br farà il lavoro. Si potrebbe anche adattare il regex per sostituire 1 o più ritorni a capo con un tag BR:

$clean = preg_replace(array("/\r+/","/\n+/"),array("","<br />"),$text);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top