Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wykorzystanie ereg_replace
Forum PHP.pl > Forum > PHP
yeti
Witam,
jak zwykle mam kłopot z wyrażeniami regularnymi, może ktoś mógłby mi pomóc.
Potrzebuję zamienić ciąg znaków wewnątrz tekstu na inny. Tekst zawiera się pomiędzy znacznikami, które znam, ale sam tekst, a właściwie łańcuch znaków może być dowolny:

  1. <?php
  2.  
  3. $str = &#092;"dowolny {mark}jahsfg78aw3r/./32j dsjkd d<>][1[{}{/mark} znaków\";
  4.  
  5. ?>


chciałbym za pomocą funkcji ereg_repace(); zamienić to co jest pomiędzy znacznikami {mark} i {/mark} na zdefiniowany przez mnie łańcuch znaków, czyli:

Kod
$str = "dowolny {mark}jahsfg78aw3r/./32j dsjkd d<>][1[{}{/mark} znaków";
$newStr = 'ciąg';
$reg = "^{mark}{1}[[:alnum:]]+{/mark}$";
$all = ereg_replace($reg, $strNew, $str);

echo($all);


niestety jakoś nie udaje mi się napisać odpowiedniego regexa sad.gif bo nie podmienia.
Czy ktoś mógłby mi coś podpowiedzieć?
bendi
Jak chesz nauczyc sie lowic to odwoluje do lekturki moich tutkow:
1 2

A jak chcesz rybe to prosze:
  1. <?php
  2.  preg_replace('%{(mark)}(.*?){/1}%si', 'costam', $sCiagDoZbadania ); 
  3. ?>
yeti
Dzięki smile.gif
Na szybko skorzystałem z rybki, a teraz zabieram wędkę i idę trenować, mam nadzieję, że następnym razem to ja będe poprawiał czyjeś wyrażenia biggrin.gif
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.