Jak odebrat speciální znaky z řetězce v PHP

How Remove Special Characters From String Php



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.