vediamo adesso a descrivervi la funzione che su quanto vi abbiamo spiegato effettua la sostituzione che è ereg_replace e la sua corrispettiva case sensistive eregi_replace, ossia questa ultima non fa distinzione fra caratteri maiuscoli e minuscoli.
La sintassi di ereg_replace
ereg_replace (espressione regolare, rimpiazza con , stringa)
Facciamo un esempio del suo utilizzo, supponiamo che in una stringa si sia utilizzato [b] al posto del grassetto e [eb] al posto del tag di chiusura del grassetto e quindi vogliamo riportare la formattazione del testo in testo che sia HTML e quindi dovremmo fare
$stringaconvertita = eregi_replace(‘\\[b]’, ‘’, $stringa); $stringaconvertita = eregi_replace(‘\\[eb]’, ‘’, $stringa);
il doppio backslash che abbiamo introdotto è una sicurezza per evitare che venga introdotta nella stringa ogni possibile carattere speciale. Analogamente potremmo inserire questa funzione per trasformare la formattazione UTF8 in html e quindi mettere i corrispettivi ad esempio
- \n è il ritorno a capo e quindi corrisponde nella funzione scritta sopra il
- \n\n corrisponde a
- \r è lo spazio ‘ ‘
Un altro importante utilizzo della funzione ereg_replace è quello di potere utilizzare la possibilità potere sostituire una funzione piuttosto che un ‘altra in maniera predeterminata. Facciamo un esempio per chiarire
$testo=’banana’; $testo= eregi_replace(‘(.*)(nana)’, ‘\\1\\1’, $testo); echo $testo; //outputs “nanaba”
In pratica come potete vedere \\1 è sostiutito con ba nella stringa di sostituzione, che corrisponde a .* zero o piu’ righe di caratteri non nuovi nell’espressione regolare \\2 è sostituito da nana che è appunto (nana) nell’espressione regolare. Lo stesso principio lo possiamo utilizzare nel caso avessimo
[L] http://nomesito.it/[EL]
in http://nomesito.it/
Non dovremo fare altre che utilizzare la seguente espressione regolare
\[L][-_./a-z0-9!&%#?+,’=:;@∼]+\[EL]
A questo punto non dovremo fare altro che scrivere
$testo =eregi_replace(‘\[L][-_./a-z0-9!&%#?+,’=:;@∼]+\[EL]’, ‘’, $testo);
Funzioni Correllate