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 ]])

  1. $pattern - wzór, którego szukasz.
  2. $zastąpienie - znaki do zastąpienia.
  3. $temat - przetwarzany obiekt.
  4. $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().

  1. $search - wartość do znalezienia.
  2. $replace – ciąg znaków, który ma zostać zastąpiony.
  3. $temat - obiekt, w którym wykonywane jest wyszukiwanie i zamiana.
  4. $count ustawia liczbę zamian.
$bodytag = str_replace("%body%", "czarny", " "); // przypisuje: Hll Wrld f PHP $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O ", "U"); $onlyconsonants = str_replace($vowels, "", "Hello World of PHP"); // przypisuje: Codziennie powinieneś jeść pizzę, piwo i lody $phrase = "Powinieneś jeść owoce , warzywa i błonnik każdego dnia."; $zdrowe = array("owoce", "warzywa", "błonnik"); $yummy = array("pizza", "piwo", "lody"); ​​$ newphrase = str_replace($zdrowe, $pyszne, $phrase); // przypisuje: 2 $str = str_replace("ll", "", "dobra pani Molly!", $count); echo $count; ?>

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)