Kuidas eemaldada PHP -st stringist erimärke

How Remove Special Characters From String Php

Mõnikord peate võib -olla programmeerimise eesmärgil stringist erimärgid eemaldama. PHP-l on palju sisseehitatud funktsioone, mille abil saab stringi andmetest erimärke eemaldada. See õpetus näitab teile, kuidas stringist erimärkide eemaldamiseks kasutada mõnda erinevat tüüpi PHP sisseehitatud funktsiooni.

Funktsioon str_replace ()

Üks kasulik funktsioon, mida saab kasutada stringist erimärkide eemaldamiseks, on str_replace () funktsiooni. Määratud märgi eemaldamiseks tuleb selle funktsiooni tähemärgi asendamiseks kasutada tühja stringi. Selle funktsiooni süntaks on toodud allpool.



str_replace ($ search_str, $ asendada_str, $ main_str [,$ loend ])

The str_replace () funktsioon võib võtta neli argumenti. Esimesed kolm argumenti on kohustuslikud ja viimane argument on valikuline. The $ search_str muutuja salvestab väärtuse, mida stringist otsitakse. The $ asendada_str muutuja salvestab väärtuse, mis asendatakse otsingust pärineva stringi stringist. Väärtusena peate kasutama tühja stringi $ asendada_str muutuja otsinguteksti eemaldamiseks põhistringist. The $ loend argument salvestab väärtuse, mis näitab, kui palju märke asendatakse või eemaldatakse.



Näide: kasutamine str_replace () erimärkide eemaldamiseks

Järgmine skript näitab selle kasutamist str_replace () funktsioon, et eemaldada andmestikust erimärk. Asendusülesande täitmiseks on skriptis deklareeritud kasutaja määratud funktsioon. The räsi (#), üks jutumärk (') ja semikoolon (;) märke kasutatakse otsingumärkidena, tühja stringi aga nende märkide asendustekstina.





/* Järgnev skript eemaldab mõned

erimärgid stringist kasutades str_replace ()

funktsiooni

* /




// Määrake põhistring

$ mainstr = '#See on lihtne'lihtne tekst;';



// Väljund enne eemaldamist

viskas välja ' Tekst enne eemaldamist:
'
.$ mainstr;



// Funktsiooni kutsumine

$ asendaja =rm_special_char($ mainstr);



// Määrake ruumilise märgi eemaldamise funktsioon

funktsioonirm_special_char($ str) {

// Eemalda '#', '' 'ja'; ' kasutades funktsiooni str_replace ()

$ tulemus = str_replace ( massiiv ('#', '' ', ';'), '', $ str);

// Väljund pärast eemaldamist

viskas välja '
Tekst pärast eemaldamist:
'
.$ tulemus;

}

?>

Väljund

Pärast ülaltoodud skripti käivitamist ilmub järgmine väljund. Põhiteksti väärtus trükitakse enne helistamist str_replace () funktsiooni ja kolm erimärki eemaldatakse põhitekstist ja trükitakse hiljem.



Funktsioon preg_replace ()

The preg_replace () funktsiooni kasutatakse stringiandmete asendamiseks otsingumustri alusel. Selle funktsiooni süntaks on toodud allpool.

preg_replace ( $ muster, $ asendada, $ string [,$ limiit [,$ loend]] )

See funktsioon võib võtta viis argumenti. Esimesed kolm argumenti on kohustuslikud ja kaks viimast argumenti on vabatahtlikud. The $ muster argumenti kasutatakse mustri määratlemiseks, et otsida stringist märke. The $ asendada argumenti kasutatakse asendusteksti määratlemiseks ja asendustekst on tühi string, mida kasutatakse erimärkide eemaldamiseks. The $ string argumenti kasutatakse põhistringi määratlemiseks, milles mustrit otsitakse ja asendatakse.

Näide: preg_replace () kasutamine erimärkide eemaldamiseks

Järgmine skript näitab preg_replace () funktsioon konkreetse erimärgi eemaldamiseks stringi andmetest. Mustrit „[0-9/[0-9%$?]/S” kasutatakse funktsioonis tähemärkide otsimiseks. See otsib stringiandmetest kõiki märke '%', '$' ja '?' Ning asendab need märgid tühja stringiga, kui need on olemas.



/* Järgnev skript eemaldab mõned

erimärgid stringist, kasutades preg_replace ()

funktsiooni

* /




// Määrake põhistring

$ mainstr = '200 mulle meeldib$ phpprogrammeerimine 50%? '';



// Väljund enne eemaldamist

viskas välja ' Tekst enne eemaldamist:
'
.$ mainstr;



// Funktsiooni kutsumine

$ asendaja =rm_special_char($ mainstr);



// Määrake ruumilise märgi eemaldamise funktsioon

funktsioonirm_special_char($ str) {

// Eemalda '#', '' 'ja'; ' kasutades funktsiooni str_replace ()

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

// Väljund pärast eemaldamist

viskas välja '
Tekst pärast eemaldamist:
'
.$ tulemus;

}

?>

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Enne teksti helistamist prinditakse põhiteksti väärtus preg_replace () funktsiooni. The 200, 50, '%' ja '?' märgid eemaldatakse põhitekstist ja trükitakse hiljem.

The htmlspecialchars () ja str_ireplace () Funktsioonid

The htmlspecialchars () ja str_ireplace () funktsioone kasutatakse kõigi eelmääratletud märkide teisendamiseks HTML -i. Näiteks, ' < 'Teisendatakse' & lt , '' & 'Teisendatakse' & amp , Jne. Nende funktsioonide abil saate stringiandmetest eemaldada eelmääratletud märkide efekti.

Näide: kasutamine htmlspecialchars () ja str_ireplace () erimärkide eemaldamiseks

Järgmine skript näitab, kuidas eemaldada stringist eelmääratletud tähemärkide mõju, kasutades htmlspecialchars () funktsiooni. Siis str_ireplace () funktsiooni kasutatakse HTML -olemite eemaldamiseks tekstist. The str_ireplace () funktsioon toimib nagu str_replace () funktsiooni, kuid see võib teostada suurtähtede vahet tegevaid otsinguid. Põhistring sisaldab teksti koos< h2 > ja< b > sildid. Niisiis, kui tekst prinditakse enne eelmääratud märkide efekti eemaldamist, kuvatakse string HTML -päise ja paksude siltidega. Lihttekst kuvatakse pärast antud funktsioonide rakendamist.





// Määrake põhistring

$ mainstr = '

Tere tulemast LinuxHint

'
;



// Väljund HTML -siltidega

viskas välja 'Tekst enne eemaldamist:'.$ mainstr;



// Väljund pärast HTML -siltide eemaldamist

viskas välja 'Tekst pärast eemaldamist:
'
.

str_ireplace ( massiiv (' ', ' '
,'

','

'
),'',

htmlspecialchars ($ mainstr));



?>

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund.

Funktsioon trim ()

The trim () funktsioon kasutatakse konkreetsete märkide eemaldamiseks andmesarja algusest ja lõpust. See funktsioon ei saa andmesarja keskelt märke eemaldada. Seega saate seda funktsiooni kasutada ainult siis, kui soovite stringi algusest ja lõpust eemaldada erimärgid.

Näide: kasutades trim () Funktsioon erimärkide eemaldamiseks

Järgmine skript näitab trim () funktsioon eemaldada ' @ 'Ja' ! ’Märgid stringimuutuja algusest ja lõpust $ mainstr . Väärtus $ mainstr muutujat prinditakse nii enne kui ka pärast märkide eemaldamist.





// Määrake põhistring

$ mainstr = '@@ Veebiprogrammeerimine !!!.';



// Väljund enne trim () kasutamist

viskas välja ' Tekst enne eemaldamist:
'
.$ mainstr;



// Väljund pärast trimmi () kasutamist

viskas välja '
Tekst pärast eemaldamist:
'
. trimmima ($ mainstr,'@!');



?>

Väljund

Pärast skripti käivitamist kuvatakse järgmine väljund. Siin kaks ' @ 'Tähemärgid eemaldatakse algusest ja kolm' ! ’Märgid eemaldatakse stringimuutuja lõpust $ mainstr .

Järeldus

See õpetus näitas teile nelja erinevat viisi, kuidas stringi andmetest erimärke eemaldada. Loodan, et see õpetus aitab lugejatel rakendada käesolevas artiklis esitatud funktsioone oma skriptis.