PHP przytnij białe znaki wokół krawędzi. Jak usunąć spacje z ciągów w PHP? Przykład znajdowania i zastępowania spacji
Pracując z tekstem często trzeba go formatować. Jest to konieczne dla prawidłowego wyświetlania i łatwej czytelności. Jest to konieczne, jeśli użytkownik wprowadza jakieś informacje i popełnia błędy: zamiast jednej spacji wskazuje dwie spacje, a na początku stawia tabulator. Istnieje kilka sposobów usuwania spacji w PHP.
Przycinać()
Funkcja Trim szuka dodatkowych znaków na początku lub na końcu ciągu. Ten:
- regularna przestrzeń;
- tabulacja;
- znak podziału linii.
Jest to zapisane w następującej formie:
Przycięcie ciągu (string $str [, string $character_mask = "\t\n\r\0\x0B" ])
$str to przetwarzany ciąg znaków, a $character_mask to dodatkowe znaki. $character_mask jest atrybutem opcjonalnym.
Preg_replace
Funkcja służąca do wyszukiwania i zamiany znaków za pomocą wyrażenia regularnego.
Mieszane preg_replace (mieszane $wzorzec, mieszane $zastąpienie, mieszane $temat [, int $limit = -1 [, int &$count ]])
- $pattern - wzór, którego szukasz.
- $zastąpienie - znaki do zastąpienia.
- $temat - przetwarzany obiekt.
- $limit - liczba dokonanych zamian.
$wzór i $zastąpienie mogą być tablicami. W takim przypadku wymiana odbywa się zgodnie ze indeksami.
Str_replace()
Możesz usunąć spacje z łańcucha w PHP za pomocą metody str_replace(). Zastępuje wszystkie wystąpienia szukanego ciągu ciągiem zastępczym.
Mieszane str_replace (mieszane $wyszukiwanie, mieszane $zastępowanie, mieszane $temat [, int i liczba $])
Używana jako uproszczona metoda preg_replace().
- $search - wartość do znalezienia.
- $replace – ciąg znaków, który ma zostać zastąpiony.
- $temat - obiekt, w którym wykonywane jest wyszukiwanie i zamiana.
- $count ustawia liczbę zamian.
Przykład znajdowania i zastępowania spacji
Funkcje te mają zastosowanie w większości sytuacji, nawet bardziej skomplikowanych.
Na przykład użytkownik wprowadził pewne dane, które później zostaną wydrukowane na ekranie. Aby poprawić czytelność i postrzeganie tekstu jako całości, informacje te wymagają przetworzenia - usuń powtarzające się spacje, zastąp je pojedynczymi.
$text1 = "Długi tekst z dodatkowymi spacjami";
W tym przypadku widać, że między słowami są dwie i trzy spacje. Procedura usuwania spacji w PHP jest następująca.
1. Najpierw musisz zamienić ciąg znaków na tablicę ciągów za pomocą funkcji.
Rozbij(„ ”, $tekst1)
Jako ogranicznik używana jest pojedyncza spacja. W ten sposób części ciała, które nie są oddzielnymi elementami tablicy, będą zawierały o jedno miejsce mniej.
2. Wynikiem jest tablica takich ciągów znaków:
$array = ["Długi", "obszerny", "tekst", "z", "dodatkowe spacje"]
3. Każdy element jest przetwarzany przez funkcję:
Preg_replace("/\s+/", " ", $text1)
Aby wyszukać jedną lub więcej spacji, użyj wyrażenia regularnego /\s+/. Wszystkie znalezione dopasowania są zastępowane ciągiem „”. Wyszukiwanie odbywa się w zmiennej $text1.
4. W rezultacie otrzymujemy ciąg znaków z odpowiednią liczbą spacji, który jest łatwo dostrzegalny dla użytkownika.
Dobry wieczór, ostatnio poruszyliśmy trochę temat haseł i ich bezpiecznego przechowywania, a mianowicie badaliśmy funkcję mieszającą. Dzisiaj będziemy trochę kontynuować temat haseł i ich przechowywania, a także przestudiujemy funkcje, dzięki którym możesz usuń spacje z początku i końca łańcucha. A oto hasła i usuwanie spacji z ciągu, ty mi powiedz? Po pierwsze, ta funkcja oczywiście nie odnosi się konkretnie do haseł, ale działa tylko z ciągami znaków, a mówiłem o hasłach tylko jako o ich zastosowaniu. Dlatego możesz go używać gdziekolwiek i kiedykolwiek chcesz, w zależności od sytuacji.
Po co to jest? przytnij spacje na początku i na końcu linii? Jeśli podczas rejestracji podasz hasło na stronie i jakimś cudem naciśniesz spację i tego nie zauważysz, wówczas Twoje hasło będzie składać się na przykład nie z czterech znaków, ale z pięciu, łącznie ze spacją. I nie zrozumiesz, dlaczego hasło nie jest odpowiednie, ponieważ skrót tego ciągu będzie inny. Dlatego zawsze polecam przycinanie odstępów w linii, aby uniknąć takich niuansów. Teraz przejdziemy do rozważenia przykładu w praktyce.
$string_pass = " 1234 "
;
$hasło = md5(trim($string_pass));
$hasło2 = md5($string_pass);
Echo $hasło;
Echo "
"
;
Echo $hasło2;
?>
Tworzymy zmienną, która będzie naszym hasłem i konkretnie wskazujemy spację na początku i na końcu linii. Następnie tworzymy zmienną, w której będzie już zapisane zaszyfrowane hasło, i przepuszczamy tę linię funkcja przycinania, co najpierw usunie wszystkie niepotrzebne spacje, a dopiero potem otrzymamy zaszyfrowane hasło. A w drugiej zmiennej nie używamy funkcji do usuwania spacji i od razu mieszamy ciąg. Następnie wyświetlamy oba wyniki na ekranie przeglądarki i widzimy, że są zupełnie inne, mimo że za każdym razem użyliśmy tego samego ciągu. Jednak ze względu na spacje wynik jest zupełnie inny, dlatego należy zachować szczególną ostrożność w tej kwestii. I ostatnia rzecz, którą powinienem ci powiedzieć. Istnieją jeszcze dwie funkcje, które usuwają spacje na początku lub na końcu linii i są one wywoływane przytnij I rtrim odpowiednio. Dlatego jeśli chcesz usunąć spacje z którejkolwiek strony, użyj ich. Na tym kończę ten artykuł i życzę sukcesów w całej pracy.
W dowolnym języku podczas pracy z ciągami znaków typowym zadaniem jest usuwanie spacji zarówno na początku, jak i na końcu linii. W PHP służą do tego trzy funkcje: ltrim(), rtrim(), trim(). Funkcja ltrim() usuwa spacje na początku linii, rtrim() - na końcu linii, trim() - zarówno na początku, jak i na końcu. Co ciekawe, funkcje te, oprócz spacji, usuwają także sekwencje specjalne nowej linii, powrotu karetki, tabulatora i znaku null.
$example = "\tWitam wszystkich\n"; var_dump(trim($przykład)); var_dump(rtrim($przykład)); var_dump(ltrim($przykład));
W rezultacie otrzymujemy:
Ciąg „Witam wszystkich” (długość=12) ciąg „Witam wszystkich” (długość=14) ciąg „Witam wszystkich” (długość=13)
Co najciekawsze, powyższe funkcje mogą również usuwać znaki określone przez użytkownika. Aby to zrobić, powyższe funkcje muszą przekazać jako drugi argument ciąg znaków zawierający znaki do usunięcia. Na przykład:
$example = "Witam wszystkich\n"; var_dump(trim($przykład, " y")); var_dump(rtrim($przykład, " y\n")); var_dump(ltrim($przykład, " yH"));
W rezultacie:
Ciąg „Cześć wszystkim” (długość=13) ciąg „yCześć wszystkim” (długość=13) ciąg „i wszystkim” (długość=12)