Wyszukiwanie i zamiana tekstu

PHP:
Wyszukiwanie i zamiana tekstu

How to: (Jak to zrobić?)

W PHP szukanie i zamiana tekstu często przechodzi przez str_replace albo regex z preg_replace. Prosty przykład:

<?php
$tekst = "Witaj, świecie!";
$szukaj = "świecie";
$zamien_na = "kodzie PHP";

$nowy_tekst = str_replace($szukaj, $zamien_na, $tekst);
echo $nowy_tekst; // Wyświetli 'Witaj, w kodzie PHP!'
?>

A teraz regex dla bardziej złożonych przypadków:

<?php
$tekst = "Zarejestruj się na kurs PHP w 2023!";
$pattern = "/PHP w [0-9]{4}/";
$zamien_na = "PHP w 2024";

$nowy_tekst = preg_replace($pattern, $zamien_na, $tekst);
echo $nowy_tekst; // Wyświetli 'Zarejestruj się na kurs PHP w 2024!'
?>

Deep Dive (Głębsze zanurzenie)

Szukanie i zamiana tekstu ma długą historię, która zaczyna się wraz z narodzinami programowania. W PHP, str_replace jest proste i szybkie dla prostych ciągów znaków, ale nie radzi sobie z patternami i wyrażeniami regularnymi. Dlatego preg_replace na ratunek – potężne narzędzie z Perl Compatible Regular Expressions. Często to overkill dla prostych zadanek, ale kiedy trzeba, robi robotę z klasą.

Alternatywy? Można użyć strtr jeśli zamiany są bardzo proste, albo strpos i substr_replace dla bardziej kontrolowanego cięcia i szycia tekstu.

Robota z wyrażeniami regularnymi to nie tylko preg_replace – mamy też preg_match do wyszukiwania, preg_split do dzielenia. Regularni wyjadacze mają nawet swoją syntaksę i możliwości jak backreferences czy lookaround assertions.

See Also (Zobacz również)