Sostituire la funzione testo in php
-
22-09-2019 - |
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?
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);