Ako odstrániť špeciálne znaky z reťazca v PHP

How Remove Special Characters From String Php



Niekedy môže byť potrebné na účely programovania odstrániť z reťazca špeciálne znaky. PHP má mnoho vstavaných funkcií, ktoré je možné použiť na odstránenie špeciálnych znakov z reťazcových údajov. Tento tutoriál vám ukáže, ako použiť niekoľko rôznych typov vstavaných funkcií PHP na odstránenie špeciálnych znakov z reťazca.

Funkcia str_replace ()

Jednou z užitočných funkcií, ktoré je možné použiť na odstránenie špeciálnych znakov z reťazca, je str_replace () funkciu. Na odstránenie zadaného znaku v tejto funkcii je potrebné použiť prázdny reťazec. Syntax tejto funkcie je uvedená nižšie.







str_replace ($ search_str, $ replace_str, $ main_str [,počet dolárov ])

The str_replace () funkcia môže mať štyri argumenty. Prvé tri argumenty sú povinné a posledný argument je voliteľný. The $ search_str premenná ukladá hodnotu, ktorá sa bude hľadať v reťazci. The $ replace_str premenná ukladá hodnotu, ktorá bude nahradená z reťazca, v ktorom sa zhoduje hľadaný text. Ako hodnotu súboru musíte použiť prázdny reťazec $ replace_str premenná na odstránenie hľadaného textu z hlavného reťazca. The počet dolárov argument ukladá hodnotu, ktorá predstavuje počet nahradených alebo odstránených znakov.



Príklad: Použitie str_replace () na odstránenie špeciálnych znakov

Nasledujúci skript ukazuje použitie súboru str_replace () funkcia na odstránenie špeciálneho znaku z reťazca údajov. V skripte je deklarovaná užívateľom definovaná funkcia na vykonanie úlohy nahradenia. The hash (#), jednoduchá úvodzovka (') a bodkočiarka (;) znaky sa používajú ako vyhľadávacie znaky, zatiaľ čo prázdny reťazec sa používa ako náhradný text pre tieto znaky.





/* Nasledujúci skript niektoré odstráni

špeciálne znaky z reťazca pomocou str_replace ()

funkciu

* /




// Definujte hlavný reťazec

$ mainstr = '#Toto je jednoduchý text;';



// Výstup pred odstránením

zahodil ' Text pred odstránením:
'
.$ mainstr;



// Zavolajte funkciu

$ replacestr =rm_special_char($ mainstr);



// Definujte funkciu na odstránenie priestorového znaku

funkciurm_special_char($ str) {

// Odstráňte '#', '' 'a'; ' pomocou funkcie str_replace ()

$ výsledok = str_replace ( pole ('#', '' ', ';'), '', $ str);

// Výstup po odstránení

zahodil '
Text po odstránení:
'
.$ výsledok;

}

?>

Výkon





Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Hodnota hlavného textu sa vytlačí pred zavolaním na str_replace () funkciu a tri špeciálne znaky sa odstránia z hlavného textu a vytlačia sa neskôr.



Funkcia preg_replace ()

The preg_replace () funkcia sa používa na nahradenie reťazcových údajov na základe vyhľadávacieho vzoru. Syntax tejto funkcie je uvedená nižšie.

preg_replace ( $ vzor, $ nahradiť, $ reťazec [,$ limit [,počet dolárov]] )

Táto funkcia môže obsahovať päť argumentov. Prvé tri argumenty sú povinné a posledné dva argumenty sú voliteľné. The $ vzor argument sa používa na definovanie vzoru na vyhľadávanie znakov v reťazci. The $ nahradiť Na definovanie náhradného textu sa používa argument a náhradný text bude prázdny reťazec používaný na odstránenie špeciálnych znakov. The $ reťazec argument sa používa na definovanie hlavného reťazca, v ktorom sa vzor vyhľadá a nahradí.

Príklad: Použitie preg_replace () na odstránenie špeciálnych znakov

Nasledujúci skript ukazuje použitie súboru preg_replace () funkcia na odstránenie konkrétneho špeciálneho znaku z reťazcových údajov. Na vyhľadanie znakov sa vo funkcii používa vzor „[0-9/[0-9%$?]]/S. V údajoch reťazca sa vyhľadajú všetky znaky „%“, „$“ a „?“ A tieto znaky sa nahradia prázdnym reťazcom, ak znaky existujú.



/* Nasledujúci skript niektoré odstráni

špeciálne znaky z reťazca pomocou preg_replace ()

funkciu

* /




// Definujte hlavný reťazec

$ mainstr = '200 Páči sa mi to$ phpprogramovanie 50%? ';



// Výstup pred odstránením

zahodil ' Text pred odstránením:
'
.$ mainstr;



// Zavolajte funkciu

$ replacestr =rm_special_char($ mainstr);



// Definujte funkciu na odstránenie priestorového znaku

funkciurm_special_char($ str) {

// Odstráňte '#', '' 'a'; ' pomocou funkcie str_replace ()

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

// Výstup po odstránení

zahodil '
Text po odstránení:
'
.$ výsledok;

}

?>

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup. Hodnota hlavného textu sa vytlačí pred zavolaním na preg_replace () funkciu. The 200, 50, „%“ a „?“ znaky budú z hlavného textu odstránené a vytlačené neskôr.

The htmlspecialchars () a str_ireplace () Funkcie

The htmlspecialchars () a str_ireplace () funkcie sa používajú na prevod všetkých preddefinovaných znakov do HTML. Napríklad, ' < “Sa zmení na„ & lt '' ' & “Sa zmení na„ & amp “Atď. Tieto funkcie môžete použiť na odstránenie účinku akýchkoľvek preddefinovaných znakov z reťazcových údajov.

Príklad: Použitie htmlspecialchars () a str_ireplace () na odstránenie špeciálnych znakov

Nasledujúci skript ukazuje, ako odstrániť efekt preddefinovaných znakov z reťazca pomocou htmlspecialchars () funkciu. Potom str_ireplace () funkcia sa používa na odstránenie entít HTML z textu. The str_ireplace () funkcia funguje ako str_replace () funkciu, ale môže vykonávať vyhľadávanie bez rozlišovania malých a veľkých písmen. Hlavný reťazec obsahuje text s príponou< h2 > a< b > značky. Keď sa teda text vytlačí pred odstránením účinku preddefinovaných znakov, reťazec sa zobrazí s efektom hlavičky HTML a hrubých značiek. Po použití daných funkcií sa zobrazí obyčajný text.





// Definujte hlavný reťazec

$ mainstr = '

Vitajte v Linuxová rada

'
;



// Výstup so značkami HTML

zahodil „Text pred odstránením:“.$ mainstr;



// Výstup po odstránení značiek HTML

zahodil „Text po odstránení:
'
.

str_ireplace ( pole (' ', ' '
,'

','

'
),'',

htmlspecialchars ($ mainstr));



?>

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup.

Funkcia trim ()

The funkcia trim () sa používa na odstránenie konkrétnych znakov zo začiatku a konca reťazca údajov. Táto funkcia nemôže odstrániť znaky uprostred reťazca údajov. Túto funkciu teda môžete použiť iba vtedy, ak chcete odstrániť špeciálne znaky zo začiatku a konca reťazca.

Príklad: Použitie súboru funkcia trim () na odstránenie špeciálnych znakov

Nasledujúci skript ukazuje použitie súboru funkcia trim () odstrániť ' @ “A„ ! 'Znaky od začiatku a konca reťazcovej premennej $ mainstr . Hodnota súboru $ mainstr premenná sa vytlačí pred aj po odstránení znakov.





// Definujte hlavný reťazec

$ mainstr = '@@ Web Programming !!!.';



// Výstup pred použitím trim ()

zahodil ' Text pred odstránením:
'
.$ mainstr;



// Výstup po použití trim ()

zahodil '
Text po odstránení:
'
. orezať ($ mainstr,'@!');



?>

Výkon

Po spustení skriptu sa zobrazí nasledujúci výstup. Tu dve ' @ “Znaky sú odstránené od začiatku a tri„ ! Znaky ‘sú odstránené z konca reťazcovej premennej $ mainstr .

Záver

Tento tutoriál vám ukázal štyri rôzne spôsoby odstraňovania špeciálnych znakov z reťazcových údajov. Dúfam, že tento návod pomôže čitateľom uplatniť funkcie uvedené v tomto článku vo svojom skripte.