Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kolejność działania funkcji.
Forum PHP.pl > Forum > Przedszkole
cykcykacz
Hej,
mam kłopot jeśli zrobię taką operację na stringu:
  1. $string = "<strong><em>do</em></strong><em>wynajęcia</em> lokal handlowy - Ostrów ul. Kolejowa xx - xxx-xxx-xxx";
  2. $new_string = preg_replace('/\<em>(.*?)\<\/em>/e', 'strtoupper("$0")', $string);
  3.  
  4. $result = str_replace(
  5. array('<strong>', '</strong>'),
  6. array('<b>', '<$>'),
  7. $new_string
  8. );
  9.  
  10. echo $result;


To funkcja str_replace nie chce podmienić znaków.

Na tomiast jeżeli zrobię str_replace przed "preg_replace" działa.

Jak to ustawić żeby działało dobrze?

Ps: Potrzebuje takiej kolejności działań!
styryl
Puściłem u siebie i działa bez problemu, zamienia <strong> na <b> i </strong> na <$>
nospor
Dokładnie, mi też działa smile.gif
cykcykacz
Kurcze, sory ale u mnie w domu i teraz na innym komputerze nie widziałem efektu teraz jest dobrze.

Tylko wyskoczył jeszcze jeden problem korzystam z funkcji strtoupper i niechce mi zamienić małego ę na duże Ę.
Jak sobie z tym poradzić?

  1. $string = "<strong><em>do</em></strong><em>wynajęcia</em> lokal handlowy - Ostrów ul. Kolejowa xx - xxx-xxx-xxx";
  2. $new_string = preg_replace('/\<em>(.*?)\<\/em>/e', 'strtoupper("$0")', $string);

nospor
Przy zalozeniu ze to jest utf8 skorzystaj z funkcji z rodziny mb_
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.