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

Funzione 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

Guida Integrale a tutte le funzioni PHP