Cum se elimină caractere speciale din șir în PHP

How Remove Special Characters From String Php



Uneori, poate fi necesar să eliminați caractere speciale dintr-un șir în scopuri de programare. PHP are multe funcții încorporate care pot fi utilizate pentru a elimina caractere speciale din șiruri de date. Acest tutorial vă arată cum să utilizați câteva tipuri diferite de funcții încorporate PHP pentru a elimina caractere speciale dintr-un șir.

Funcția str_replace ()

O funcție utilă care poate fi utilizată pentru a elimina caractere speciale dintr-un șir este str_replace () funcţie. Șirul gol trebuie utilizat pentru a înlocui caracterul din această funcție pentru a elimina caracterul specificat. Sintaxa acestei funcții este dată mai jos.







str_replace ($ search_str, $ replace_str, $ main_str [,$ conta ])

The str_replace () funcția poate lua patru argumente. Primele trei argumente sunt obligatorii, iar ultimul argument este opțional. The $ search_str variabila stochează valoarea care va fi căutată în șir. The $ replace_str variabila stochează valoarea care va fi înlocuită din șirul în care se potrivește textul de căutare. Trebuie să utilizați un șir gol ca valoare a $ replace_str variabilă pentru a elimina textul de căutare din șirul principal. The $ conta argumentul stochează o valoare care reprezintă câte caractere sunt înlocuite sau eliminate.



Exemplu: Utilizarea str_replace () pentru a elimina caractere speciale

Următorul script prezintă utilizarea fișierului str_replace () funcție pentru a elimina un caracter special dintr-un șir de date. O funcție definită de utilizator este declarată în script pentru a efectua sarcina de înlocuire. The hash (#), citat simplu (‘) și punct și virgulă (;) caracterele sunt utilizate ca caractere de căutare, în timp ce șirul gol este folosit ca text de înlocuire pentru aceste caractere.





/ * Următorul script va elimina unele

caractere speciale dintr-un șir folosind str_replace ()

funcţie

* /




// Definiți șirul principal

$ mainstr = „# Acesta este un text simplu;”;



// Ieșirea înainte de eliminare

aruncat ' Text înainte de eliminare:
'
.$ mainstr;



// Apelați funcția

$ replacestr =rm_special_char($ mainstr);



// Definiți funcția pentru a elimina caracterul spațial

funcţierm_special_char($str) {

// Eliminați '#', '' 'și'; ' folosind funcția str_replace ()

$ rezultat = str_replace ( matrice („#”, '' ', ';'), '', $str);

// Ieșirea după eliminare

aruncat '
Text după eliminare:
'
.$ rezultat;

}

?>

Ieșire





Următoarea ieșire va apărea după executarea scriptului de mai sus. Valoarea textului principal este tipărită înainte de a apela str_replace () funcție, iar cele trei caractere speciale sunt eliminate din textul principal și tipărite ulterior.



Funcția preg_replace ()

The preg_replace () funcția este utilizată pentru a înlocui datele șirului pe baza modelului de căutare. Sintaxa acestei funcții este dată mai jos.

preg_replace ( $ model, $ înlocuiți, $ string [,$ limită [,$ conta]] )

Această funcție poate lua cinci argumente. Primele trei argumente sunt obligatorii, iar ultimele două argumente sunt opționale. The $ model argumentul este utilizat pentru a defini modelul pentru a căuta caracterul (caracterele) într-un șir. The $ înlocuiți argumentul este utilizat pentru a defini textul de înlocuire, iar textul de înlocuire va fi un șir gol utilizat pentru eliminarea caracterelor speciale. The $ string argumentul este utilizat pentru a defini șirul principal în care modelul va fi căutat și înlocuit.

Exemplu: Utilizarea preg_replace () pentru a elimina caracterele speciale

Următorul script prezintă utilizarea fișierului preg_replace () funcție pentru a elimina un anumit caracter special din datele șirului. Modelul „[0-9 / [0-9% $?] / S” este utilizat în funcție pentru a căuta caracterele. Aceasta va căuta toate caracterele „%”, „$” și „?” Din datele șirului și va înlocui aceste caractere cu șirul gol, dacă există caractere.



/ * Următorul script va elimina unele

caractere speciale dintr-un șir folosind preg_replace ()

funcţie

* /




// Definiți șirul principal

$ mainstr = '200 Îmi place$ phpprogramare50% ?. ';



// Ieșirea înainte de eliminare

aruncat ' Text înainte de eliminare:
'
.$ mainstr;



// Apelați funcția

$ replacestr =rm_special_char($ mainstr);



// Definiți funcția pentru a elimina caracterul spațial

funcţierm_special_char($str) {

// Eliminați '#', '' 'și'; ' folosind funcția str_replace ()

$ rezultat = preg_replace („/ [0-9% $?] / S”,'', $str);

// Ieșirea după eliminare

aruncat '
Text după eliminare:
'
.$ rezultat;

}

?>

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Valoarea textului principal va fi tipărită înainte de a apela la preg_replace () funcţie. The 200, 50, „%” și „?” caracterele vor fi eliminate din textul principal și tipărite ulterior.

The htmlspecialchars () și str_ireplace() Funcții

The htmlspecialchars () și str_ireplace() funcțiile sunt utilizate pentru a converti toate caracterele predefinite în HTML. De exemplu, ' < 'Va fi convertit în' & lt , '' & 'Va fi convertit în' & amp , Etc. Puteți utiliza aceste funcții pentru a elimina efectul oricăror caractere predefinite din datele șirului.

Exemplu: Utilizarea htmlspecialchars () și str_ireplace() pentru a elimina caractere speciale

Următorul script arată cum să eliminați efectul caracterelor predefinite dintr-un șir folosind htmlspecialchars () funcţie. Apoi, str_ireplace() funcția este utilizată pentru a elimina entitățile HTML din text. The str_ireplace() funcția funcționează ca str_replace () funcție, dar poate efectua căutări care să nu distingă majusculele și minusculele. Șirul principal conține text cu< h2 > și< b > etichete. Deci, când textul se imprimă înainte de a elimina efectul caracterelor predefinite, șirul va fi afișat cu efectul antetului HTML și al etichetelor aldine. Textul simplu va fi afișat după aplicarea funcțiilor date.





// Definiți șirul principal

$ mainstr = '

Bun venit la LinuxHint

'
;



// Ieșirea cu etichete HTML

aruncat 'Text înainte de eliminare:'.$ mainstr;



// Ieșirea după eliminarea etichetelor HTML

aruncat 'Text după eliminare:
'
.

str_ireplace ( matrice (' ', ' '
,'

','

'
),'',

htmlspecialchars ($ mainstr));



?>

Ieșire

Următoarea ieșire va apărea după rularea scriptului.

Funcția trim ()

The funcția trim () este folosit pentru a elimina anumite caractere de la începutul și sfârșitul unui șir de date. Această funcție nu poate elimina caractere din mijlocul unui șir de date. Deci, puteți utiliza această funcție numai dacă doriți să eliminați caractere speciale de la începutul și sfârșitul unui șir.

Exemplu: Folosind trim () Funcție pentru a elimina caractere speciale

Următorul script prezintă utilizarea fișierului funcția trim () pentru a elimina „ @ ' și ' ! Caracterele de la începutul și sfârșitul variabilei șir $ mainstr . Valoarea $ mainstr variabila va fi tipărită atât înainte, cât și după eliminarea caracterelor.





// Definiți șirul principal

$ mainstr = „@@ Programare web !!!.”;



// Ieșirea înainte de a utiliza trim ()

aruncat ' Text înainte de eliminare:
'
.$ mainstr;



// Ieșirea după utilizarea trim ()

aruncat '
Text după eliminare:
'
. tunde ($ mainstr,„@!”);



?>

Ieșire

Următoarea ieșire va apărea după rularea scriptului. Aici, două ‘ @ 'Caractere sunt eliminate de la început și trei' ! Caracterele sunt eliminate de la sfârșitul variabilei șir $ mainstr .

Concluzie

Acest tutorial v-a arătat patru moduri diferite de a elimina caractere speciale din șiruri de date. Sper că acest tutorial îi va ajuta pe cititori să aplice funcțiile prevăzute în acest articol în scriptul lor.