Někdy může být nutné z řetězce odstranit speciální znaky pro účely programování. PHP má mnoho vestavěných funkcí, které lze použít k odstranění speciálních znaků z řetězcových dat. Tento tutoriál vám ukáže, jak k odstranění speciálních znaků z řetězce použít několik různých typů vestavěných funkcí PHP.
Funkce str_replace ()
Jednou z užitečných funkcí, které lze použít k odebrání speciálních znaků z řetězce, je str_replace () funkce. K odstranění zadaného znaku v této funkci je třeba použít prázdný řetězec. Syntaxe této funkce je uvedena níže.
str_replace ($ search_str, $ replace_str, $ main_str [,počet $ ])
The str_replace () funkce může mít čtyři argumenty. První tři argumenty jsou povinné a poslední argument je nepovinný. The $ search_str proměnná ukládá hodnotu, která bude hledána v řetězci. The $ replace_str proměnná ukládá hodnotu, která bude nahrazena z řetězce, kde se hledaný text shoduje. Jako hodnotu parametru musíte použít prázdný řetězec $ replace_str proměnná k odstranění hledaného textu z hlavního řetězce. The počet $ argument ukládá hodnotu představující počet nahrazených nebo odstraněných znaků.
Příklad: Použití str_replace () k odstranění speciálních znaků
Následující skript ukazuje použití str_replace () funkce k odebrání speciálního znaku z řetězce dat. Ve skriptu je deklarována uživatelem definovaná funkce k provedení úlohy nahrazení. The hash (#), jednoduchá uvozovka (‘) a středník (;) znaky se používají jako vyhledávací znaky, zatímco prázdný řetězec se používá jako náhradní text pro tyto znaky.
/* Následující skript některé odstraní
speciální znaky z řetězce pomocí str_replace ()
funkce
* /
// Definujte hlavní řetězec
$ mainstr = '#Toto je jednoduchý text;';
// Výstup před odebráním
vyhodil ' Text před odebráním:
'.$ mainstr;
// Volání funkce
$ replacestr =rm_special_char($ mainstr);
// Definováním funkce odeberete prostorový znak
funkcerm_special_char($ str) {
// Odebrat '#', '' 'a'; ' pomocí funkce str_replace ()
$ výsledek = str_replace ( pole ('#', '' ', ';'), '', $ str);
// Výstup po odebrání
vyhodil '
Text po odebrání:
'.$ výsledek;
}
?>
Výstup
Následující výstup se objeví po spuštění výše uvedeného skriptu. Hodnota hlavního textu se vytiskne před voláním str_replace () funkce a tři speciální znaky budou odstraněny z hlavního textu a vytištěny později.
Funkce preg_replace ()
The preg_replace () funkce se používá k nahrazení řetězcových dat na základě vyhledávacího vzoru. Syntaxe této funkce je uvedena níže.
preg_replace ( $ vzor, $ nahradit, $ řetězec [,$ limit [,počet $]] )Tato funkce může mít pět argumentů. První tři argumenty jsou povinné a poslední dva argumenty jsou volitelné. The $ vzor argument se používá k definování vzoru pro vyhledávání znaků v řetězci. The $ nahradit argument se používá k definování náhradního textu a náhradním textem bude prázdný řetězec používaný k odebrání speciálních znaků. The $ řetězec argument se používá k definování hlavního řetězce, ve kterém bude vzor prohledáván a nahrazen.
Příklad: Použití preg_replace () k odebrání speciálních znaků
Následující skript ukazuje použití preg_replace () funkce k odstranění konkrétního speciálního znaku z řetězcových dat. K vyhledání znaků se ve funkci používá vzor „[0-9/[0-9%$?]]/S“. To vyhledá všechny znaky „%“, „$“ a „?“ V řetězcových datech a nahradí tyto znaky prázdným řetězcem, pokud znaky existují.
/* Následující skript některé odstraní
speciální znaky z řetězce pomocí preg_replace ()
funkce
* /
// Definujte hlavní řetězec
$ mainstr = „200 líbí se mi$ phpprogramování 50%? ';
// Výstup před odebráním
vyhodil ' Text před odebráním:
'.$ mainstr;
// Volání funkce
$ replacestr =rm_special_char($ mainstr);
// Definováním funkce odeberete prostorový znak
funkcerm_special_char($ str) {
// Odebrat '#', '' 'a'; ' pomocí funkce str_replace ()
$ výsledek = preg_replace ('/[0-9%$?]/S','', $ str);
// Výstup po odebrání
vyhodil '
Text po odebrání:
'.$ výsledek;
}
?>
Výstup
Po spuštění skriptu se zobrazí následující výstup. Hodnota hlavního textu bude vytištěna před voláním preg_replace () funkce. The 200, 50, „%“ a „?“ znaky budou odstraněny z hlavního textu a vytištěny později.
The htmlspecialchars () a str_ireplace () Funkce
The htmlspecialchars () a str_ireplace () funkce se používají k převodu všech předdefinovaných znaků do HTML. Například, ' < “Bude převedeno na„ & lt '' ' & “Bude převedeno na„ & amp , ‘Atd. Tyto funkce můžete použít k odstranění účinku jakýchkoli předdefinovaných znaků z řetězcových dat.
Příklad: Použití htmlspecialchars () a str_ireplace () k odstranění speciálních znaků
Následující skript ukazuje, jak odebrat efekt předdefinovaných znaků z řetězce pomocí htmlspecialchars () funkce. Potom, str_ireplace () Funkce se používá k odstranění entit HTML z textu. The str_ireplace () funkce funguje jako str_replace () funkce, ale může provádět vyhledávání bez rozlišování malých a velkých písmen. Hlavní řetězec obsahuje text s< h2 > a< b > tagy. Když se tedy text vytiskne před odstraněním efektu předdefinovaných znaků, řetězec se zobrazí s efektem záhlaví HTML a tučných značek. Po použití daných funkcí se zobrazí prostý text.
// Definujte hlavní řetězec
$ mainstr = '
Vítejte v Linux Tip
';// Výstup se značkami HTML
vyhodil 'Text před odstraněním:'.$ mainstr;
// Výstup po odebrání HTML tagů
vyhodil 'Text po odebrání:
'.
str_ireplace ( pole (' ', ' ','
'
,''),'',htmlspecialchars ($ mainstr));
?>
Výstup
Po spuštění skriptu se zobrazí následující výstup.
Funkce trim ()
The funkce trim () se používá k odstranění konkrétních znaků ze začátku a konce řetězce dat. Tato funkce nemůže odstranit znaky ze středu datového řetězce. Tuto funkci tedy můžete použít pouze v případě, že chcete odebrat speciální znaky na začátku a na konci řetězce.
Příklad: Pomocí funkce trim () k odstranění speciálních znaků
Následující skript ukazuje použití funkce trim () odstranit ‘ @ ' a ' ! ‘Znaky od začátku a konce řetězcové proměnné $ mainstr . Hodnota $ mainstr proměnná bude vytištěna před i po odebrání znaků.
// Definujte hlavní řetězec
$ mainstr = '@@ Web Programming !!!.';
// Výstup před použitím trim ()
vyhodil ' Text před odebráním:
'.$ mainstr;
// Výstup po použití trim ()
vyhodil '
Text po odebrání:
'. oříznout ($ mainstr,'@!');
?>
Výstup
Po spuštění skriptu se zobrazí následující výstup. Tady dva ‘ @ “Znaky jsou odstraněny od začátku a tři„ ! Znaky ‘jsou odstraněny z konce proměnné řetězce $ mainstr .
Závěr
Tento tutoriál vám ukázal čtyři různé způsoby odebírání speciálních znaků z řetězcových dat. Doufám, že tento návod pomůže čtenářům uplatnit funkce uvedené v tomto článku ve svém skriptu.