Jak usunąć znaki specjalne z ciągów w PHP

Jak usunąć znaki specjalne z ciągów w PHP

Czasami może być konieczne usunięcie znaków specjalnych z ciągu do celów programowania. PHP ma wiele wbudowanych funkcji, których można użyć do usuwania znaków specjalnych z danych stringowych. Ten samouczek pokazuje, jak używać kilku różnych rodzajów wbudowanych funkcji PHP, aby usunąć znaki specjalne z ciągu.

Funkcja str_replace ()

Jedną z przydatnych funkcji, której można użyć do usuwania znaków specjalnych z łańcucha, jest str_replace () funkcjonować. Pusty ciąg musi być użyty do znaku zastąpionego w tej funkcji, aby usunąć określony znak. Składnia tej funkcji podano poniżej.

str_replace ($ Search_str, $ zamiennik_str, $ main_str [, $ count])

str_replace () Funkcja może wziąć cztery argumenty. Pierwsze trzy argumenty są obowiązkowe, a ostatni argument jest opcjonalny. $ Search_str Zmienna przechowuje wartość, która zostanie przeszukana w ciągu. $ zamiennik_str Zmienna przechowuje wartość, która zostanie wymieniona z ciągu, w którym tekst wyszukiwania pasuje. Musisz użyć pustego ciągu jako wartości $ zamiennik_str zmienna do usunięcia tekstu wyszukiwania z głównego ciągu. $ Count Argument przechowuje wartość reprezentującą, ile znaków jest zastąpionych lub usuwanych.

Przykład: Używanie str_replace () Aby usunąć znaki specjalne

Poniższy skrypt pokazuje użycie str_replace () funkcja usuwania znaku specjalnego z serii danych. Funkcja zdefiniowana przez użytkownika jest zadeklarowana w skrypcie, aby wykonać zadanie zastąpienia. Hash (#), pojedynczy cytat (') i półcolon (;) Znaki są używane jako znaki wyszukiwania, podczas gdy pusty ciąg jest używany jako tekst zastępczy dla tych znaków.

/* Poniższy skrypt usunie niektóre
Znaki specjalne z łańcucha za pomocą str_replace ()
funkcjonować
*/
// Zdefiniuj główny ciąg
$ Mainstr = "#to jest tekst sim'ple;";
// wyjście przed wyjmij
Echo "Tekst przed usunięciem:
".$ Mainstr;
// Wywołaj funkcję
$ zamiennik = rm_special_char ($ Mainstr);
// Zdefiniuj funkcję, aby usunąć znak przestrzenny
funkcja rm_special_char ($ str)
// Usuń „#”, „” i „;” za pomocą funkcji str_replace ()
$ result = str_replace (array („#”, „'',"; "),", $ str);
// wyjście po usunięciu
Echo "
Tekst po usunięciu:
".$ wynik;

?>

Wyjście

Następujące dane wyjściowe pojawi się po uruchomieniu skryptu podanego powyżej. Wartość głównego tekstu jest drukowana przed wywołaniem str_replace () funkcja, a trzy znaki specjalne są usuwane z głównego tekstu i wydrukowane później.

Funkcja preg_replace ()

preg_replace () Funkcja służy do zastąpienia danych ciągów na podstawie wzoru wyszukiwania. Składnia tej funkcji podano poniżej.

PreG_replace ($ wzór, $ zamień, $ string [, $ limit [, $ count]])

Ta funkcja może wziąć pięć argumentów. Pierwsze trzy argumenty są obowiązkowe, a dwa ostatnie argumenty są opcjonalne. $ wzór Argument służy do zdefiniowania wzorca do wyszukiwania znaków (ów) w ciągu. $ zamień Argument służy do zdefiniowania tekstu zastępczego, a tekst zastępczy będzie pustym ciągiem używanym do usuwania znaków specjalnych. $ String Argument służy do zdefiniowania głównego ciągu, w którym wzór zostanie przeszukany i wymieniony.

Przykład: za pomocą preg_replace () do usuwania znaków specjalnych

Poniższy skrypt pokazuje użycie preg_replace () funkcja usunięcia konkretnego znaku specjalnego z danych ciągów. „[0-9/[0-9%$?]/s 'jest używany w funkcji do wyszukiwania znaków. To przeszukuje wszystkie znaki „%”, $, 'i'?„W danych łańcuchowych i zastąp te znaki pustym ciągiem, jeśli istnieją znaki.

/* Poniższy skrypt usunie niektóre
Znaki specjalne z ciągu za pomocą preg_replace ()
funkcjonować
*/
// Zdefiniuj główny ciąg
$ Mainstr = "200i jak $ PHP Programming50%?.";
// wyjście przed wyjmij
Echo "Tekst przed usunięciem:
".$ Mainstr;
// Wywołaj funkcję
$ zamiennik = rm_special_char ($ Mainstr);
// Zdefiniuj funkcję, aby usunąć znak przestrzenny
funkcja rm_special_char ($ str)
// Usuń „#”, „” i „;” za pomocą funkcji str_replace ()
$ wynik = preg_replace ('/[0-9%$?]/s ', ", $ str);
// wyjście po usunięciu
Echo "
Tekst po usunięciu:
".$ wynik;

?>

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Wartość głównego tekstu zostanie wydrukowana przed wywołaniem preg_replace () funkcjonować. 200, 50, „%” i '?' Znaki zostaną usunięte z głównego tekstu i wydrukowane później.

htmlspecialchars () I str_ireplace () Funkcje

htmlspecialchars () I str_ireplace () Funkcje służą do konwersji wszystkich predefiniowanych znaków na HTML. Na przykład, '<„Zostanie przekształcony w”& Lt,"I„Zostanie przekształcony w”i wzmacniacz,„itp. Możesz użyć tych funkcji, aby usunąć efekt dowolnych predefiniowanych znaków z danych ciągów.

Przykład: Używanie htmlspecialchars () I str_ireplace () Aby usunąć znaki specjalne

Poniższy skrypt pokazuje, jak usunąć efekt predefiniowanych znaków z łańcucha za pomocą htmlspecialchars () funkcjonować. A później str_ireplace () Funkcja służy do usuwania jednostek HTML z tekstu. str_ireplace () Funkcja działa jak str_replace () funkcja, ale może wykonywać wyszukiwania wrażliwe na przypadki. Główny ciąg zawiera tekst z <H2> i <B> Tagi. Tak więc, gdy tekst wydrukuje przed usunięciem efektu predefiniowanych znaków, ciąg zostanie wyświetlony z efektem nagłówka HTML i odważnych tagów. Zwykły tekst zostanie wyświetlony po zastosowaniu podanych funkcji.

// Zdefiniuj główny ciąg
$ Mainstr = "

Witamy w Linuxhint

";
// wyjście z znacznikami HTML
echo „Tekst przed usunięciem:”.$ Mainstr;
// wyjście po usunięciu tagów HTML
Echo „tekst po usunięciu:
".
str_ireplace (tablica ('','','

','

') ”,
htmlSpecialChars ($ Mainstr));
?>

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Funkcja Trim ()

Funkcja trim () służy do usuwania określonych znaków z początkowego i zakończenia serii danych. Ta funkcja nie może usuwać znaków z środka ciągów danych. Możesz więc użyć tej funkcji tylko wtedy, gdy chcesz usunąć znaki specjalne od początku i końca ciągu.

Przykład: Korzystanie z Funkcja trim () Aby usunąć znaki specjalne

Poniższy skrypt pokazuje użycie Funkcja trim () Aby usunąć '@' I '!„Znaki od samego początku i na końcu zmiennej łańcuchowej $ Mainstr. Wartość $ Mainstr Zmienna zostanie wydrukowana zarówno przed, jak i po usunięciu znaków.

// Zdefiniuj główny ciąg
$ Mainstr = "@@ programowanie internetowe!!!.";
// wyjście przed użyciem Trim ()
Echo "Tekst przed usunięciem:
".$ Mainstr;
// wyjście po użyciu Trim ()
Echo "
Tekst po usunięciu:
".Trim ($ Mainstr, '@!');
?>

Wyjście

Następujące dane wyjściowe pojawią się po uruchomieniu skryptu. Tutaj, dwa '@„Znaki są usuwane od samego początku i trzy”!„Znaki są usuwane od końca zmiennej ciągu $ Mainstr.

Wniosek

Ten samouczek pokazał, że cztery różne sposoby usuwania znaków specjalnych z danych ciągów. Mam nadzieję, że ten samouczek pomoże czytelnikom zastosować funkcje przedstawione w tym artykule w ich skrypcie.