Kako odstraniti posebne znake iz niza v PHP

How Remove Special Characters From String Php



Včasih boste morda morali za namene programiranja odstraniti posebne znake iz niza. PHP ima številne vgrajene funkcije, s katerimi lahko odstranite posebne znake iz podatkov niza. Ta vadnica vam prikazuje, kako z nekaj različnimi vrstami vgrajenih funkcij PHP odstraniti posebne znake iz niza.

Funkcija str_replace ()

Ena uporabna funkcija, ki jo lahko uporabite za odstranjevanje posebnih znakov iz niza, je str_replace () funkcijo. Za odstranitev podanega znaka je treba za zamenjavo znaka uporabiti prazen niz. Sintaksa te funkcije je podana spodaj.







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

The str_replace () funkcija lahko sprejme štiri argumente. Prvi trije argumenti so obvezni, zadnji pa neobvezen. The $ search_str spremenljivka shrani vrednost, ki bo iskana v nizu. The $ replace_str spremenljivka shrani vrednost, ki bo zamenjana iz niza, kjer se ujema iskalno besedilo. Kot vrednost datoteke morate uporabiti prazen niz $ replace_str spremenljivko za odstranitev iskalnega besedila iz glavnega niza. The $ count argument shrani vrednost, ki predstavlja, koliko znakov je zamenjanih ali odstranjenih.



Primer: Uporaba str_replace () za odstranitev posebnih znakov

Naslednji skript prikazuje uporabo str_replace () funkcijo za odstranitev posebnega znaka iz niza podatkov. Za izvajanje naloge zamenjave je v skriptu deklarirana uporabniško definirana funkcija. The razpršitev (#), enojni narekovaji (') in podpičje (;) znaki se uporabljajo kot iskalni znaki, prazen niz pa kot nadomestno besedilo za te znake.





/* Naslednji skript bo odstranil nekaj

uporabo posebnih znakov iz niza str_replace ()

funkcijo

* /




// Določimo glavni niz

$ mainstr = '#To je preprosto besedilo;';



// Izhod pred odstranitvijo

vrgel ven ' Besedilo pred odstranitvijo:
'
.$ mainstr;



// Pokličemo funkcijo

$ replacestr =rm_special_char($ mainstr);



// Določimo funkcijo za odstranitev prostorskega znaka

funkcijorm_special_char($ str) {

// Odstrani '#', '' 'in'; ' z uporabo funkcije str_replace ()

$ rezultat = str_replace ( matriko ('#', '' ', ';'), '', $ str);

// Izhod po odstranitvi

vrgel ven '
Besedilo po odstranitvi:
'
.$ rezultat;

}

?>

Izhod





Po zagonu zgoraj navedenega skripta se prikaže naslednji izhod. Vrednost glavnega besedila se natisne pred klicem str_replace () funkcijo, trije posebni znaki pa so odstranjeni iz glavnega besedila in kasneje natisnjeni.



Funkcija preg_replace ()

The preg_replace () funkcija se uporablja za zamenjavo podatkov o nizu na podlagi iskalnega vzorca. Sintaksa te funkcije je podana spodaj.

preg_replace ( $ vzorec, $ zamenjaj, $ string [,$ limit [,$ count]] )

Ta funkcija lahko sprejme pet argumentov. Prva tri argumenta sta obvezna, zadnja dva pa neobvezna. The $ vzorec argument se uporablja za definiranje vzorca za iskanje znakov v nizu. The $ zamenjaj argument se uporablja za opredelitev nadomestnega besedila, nadomestno besedilo pa bo prazen niz za odstranjevanje posebnih znakov. The $ string argument se uporablja za določitev glavnega niza, v katerem bo vzorec iskan in zamenjan.

Primer: Uporaba preg_replace () za odstranjevanje posebnih znakov

Naslednji skript prikazuje uporabo preg_replace () funkcijo za odstranitev določenega posebnega znaka iz podatkov niza. Za iskanje znakov se v funkciji uporablja vzorec '[0-9/[0-9%$?]/S'. To bo poiskalo vse znake '%', '$' in '?' V podatkih o nizu in te znake zamenjalo s praznim nizom, če znaki obstajajo.



/* Naslednji skript bo odstranil nekaj

posebni znaki iz niza z uporabo preg_replace ()

funkcijo

* /




// Določimo glavni niz

$ mainstr = '200 Všeč mi je$ phpprogramiranje 50%?. ';



// Izhod pred odstranitvijo

vrgel ven ' Besedilo pred odstranitvijo:
'
.$ mainstr;



// Pokličemo funkcijo

$ replacestr =rm_special_char($ mainstr);



// Določimo funkcijo za odstranitev prostorskega znaka

funkcijorm_special_char($ str) {

// Odstrani '#', '' 'in'; ' z uporabo funkcije str_replace ()

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

// Izhod po odstranitvi

vrgel ven '
Besedilo po odstranitvi:
'
.$ rezultat;

}

?>

Izhod

Po zagonu skripta se prikaže naslednji izhod. Vrednost glavnega besedila bo natisnjena, preden pokličete preg_replace () funkcijo. The 200, 50, '%' in '?' znaki bodo odstranjeni iz glavnega besedila in kasneje natisnjeni.

The htmlspecialchars () in str_ireplace () Funkcije

The htmlspecialchars () in str_ireplace () funkcije se uporabljajo za pretvorbo vseh vnaprej določenih znakov v HTML. Na primer, ' < 'Se pretvori v' & lt , '' & 'Se pretvori v' & amp , 'Itd. S temi funkcijami lahko odstranite učinek vseh vnaprej določenih znakov iz podatkov niza.

Primer: Uporaba htmlspecialchars () in str_ireplace () za odstranitev posebnih znakov

Naslednji skript prikazuje, kako odstraniti učinek vnaprej določenih znakov iz niza z uporabo htmlspecialchars () funkcijo. Potem, str_ireplace () funkcija se uporablja za odstranjevanje entitet HTML iz besedila. The str_ireplace () funkcija deluje tako kot str_replace () funkcijo, vendar lahko izvaja iskanja, ki niso občutljiva na velike in male črke. Glavni niz vsebuje besedilo z< h2 > in< b > oznake. Torej, ko se besedilo natisne, preden odstranite učinek vnaprej določenih znakov, bo niz prikazan z učinkom glave HTML in krepkih oznak. Navadno besedilo se prikaže po uporabi danih funkcij.





// Določimo glavni niz

$ mainstr = '

Dobrodošli v LinuxHint

'
;



// Izhod z oznakami HTML

vrgel ven 'Besedilo pred odstranitvijo:'.$ mainstr;



// Izhod po odstranitvi oznak HTML

vrgel ven 'Besedilo po odstranitvi:
'
.

str_ireplace ( matriko (' ', ' '
,'

','

'
),'',

htmlspecialchars ($ mainstr));



?>

Izhod

Po zagonu skripta se prikaže naslednji izhod.

Funkcija trim ()

The trim () funkcija se uporablja za odstranjevanje določenih znakov iz začetka in konca niza podatkov. Ta funkcija ne more odstraniti znakov iz sredine niza podatkov. Tako lahko to funkcijo uporabite le, če želite odstraniti posebne znake z začetka in konca niza.

Primer: z uporabo funkcija trim () za odstranitev posebnih znakov

Naslednji skript prikazuje uporabo trim () funkcija odstraniti ‘ @ 'In' ! ’Znakov od začetka in konca spremenljivke niza $ mainstr . Vrednost $ mainstr spremenljivka bo natisnjena pred in po odstranitvi znakov.





// Določimo glavni niz

$ mainstr = '@@ Spletno programiranje !!!.';



// Izhod pred uporabo trim ()

vrgel ven ' Besedilo pred odstranitvijo:
'
.$ mainstr;



// Izhod po uporabi trim ()

vrgel ven '
Besedilo po odstranitvi:
'
. obrezati ($ mainstr,'@!');



?>

Izhod

Po zagonu skripta se prikaže naslednji izhod. Tukaj sta dva @ 'Znaki se odstranijo od začetka, trije' ! 'So odstranjeni s konca spremenljivke niza $ mainstr .

Zaključek

Ta vadnica vam je pokazala štiri različne načine odstranjevanja posebnih znakov iz podatkov niza. Upam, da bo ta vadnica pomagala bralcem, da v svojem scenariju uporabijo funkcije, navedene v tem članku.