Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z wyrażeniem regularnym w preg_replace
Forum PHP.pl > Forum > Przedszkole
wizu
Witam.
Chciałem sobie skorzystać z preg_replace, jednak moje umiejętności związane z tworzeniem wyrażeń regularnych nie są na wysokim poziomie winksmiley.jpg
Potrzebuję wyrażenia, które zamieni mi tekst pomiędzy cudzysłowami ( "(.*)" - tyle potrafię, choć i tak nie działa wstydnis.gif ) na <span>"//1"</span> i dodatkowo, żeby nie ruszało tekstu, jeśli jest 'style=' przed cudzysłowem.

Z góry wielkie dzięki za pomoc.
Quider
Odwiedź moją stronę :
Tutaj wszystko wytłumaczylem ;p
wizu
To już czytałem, ale na niewiele się zdało.
Nawet to nie chce działać
Kod
$w_nawiasie = preg_replace('#"(.*)"#si', "<span style=\"color: red\">\"\\1\"</span>", $dane[1]);

Tak jakby w ogóle nie widziało tekstu pomiędzy ""
Fifi209
Daj przed " backslashe winksmiley.jpg
wizu
Eh to już jest dziwne. Próbowałem wcześniej i nie działało. Już wiem dlaczego...
Gdy wczytuje z bazy, to nie działa, gdy zaś do zmiennej podstawiam string, w pliku, to już działa...
Tak sobie myślę, że problem może być z kodowaniem. Tworzę dodatkową podstronę dla phpbb by przemo, on ma kodowanie bazy ma w ISO-8859-2, a ja moją podstronę mam w UTF-8. Jednak z drugiej strony
Kod
        $w_nawiasie = str_replace("(", "<span style=\"color: green\">(</span>", $w_nawiasie);
        $w_nawiasie = str_replace(")", "<span style=\"color: green\">)</span>", $w_nawiasie);
        $w_nawiasie = str_replace(",", "<span style=\"color: green\">,</span>", $w_nawiasie);
        $w_nawiasie = str_replace("[", "<span style=\"color: green\">[</span>", $w_nawiasie);
        $w_nawiasie = str_replace("]", "<span style=\"color: green\">]</span>", $w_nawiasie);

Działa poprawnie :/ Już nie wiem co robić. Z góry dzięki za następne odpowiedzi winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.