Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z preg_replace i "*"
Forum PHP.pl > Forum > PHP
spit
Cześć.
Chcę przerobić tagi phpBB3 na xhtml. Zostały mi listy. Są w formacie
Kod
[*:1rq8rc6y]raz[/*:1rq8rc6y]

a chce je zamienić na
Kod
<li>raz</li>
Chciałem zrobić tak, jak w przypadku innych tagów, jednak chyba "*" jest tu problemem. Robię tak
  1. <?php
  2. $u2 = '(([*:.*])(.*)([/*:.*]))';
  3. $u21 = '<li>$2</li>';
  4. $text = preg_replace($u1, $u21, $text);
  5. ?>
No i nie działa. Pomysły?
wrzasq
  1. <?php
  2. $u2 = '#[*:.*?](.*)[/*:.*?]#';
  3. $u21 = '<li>$1</li>';
  4. $text = preg_replace($u1, $u21, $text);
  5. ?>

w sumie nie obiecuje, czy zadziala, postaralem sie tylko naprawic twoj kod, a jest juz troche pozno i sam sie spiesze tongue.gif, wiec sprobuj i powiedz czy dziala.
spit
Niestety nie.
wrzasq
no zachciało mi się przetestować i u mnie działa... tylko, że masz literówkę tongue.gif. i podejrzewam, że to właśnie największy problem był, ponieważ pierwsza zmienna u ciebie się nazywa $u2, a potem używasz $u1 smile.gif.

oto poprawniony kod:
  1. <?php
  2. $u1 = '#[*:.*?](.*)[/*:.*?]#';
  3. $u2 = '<li>$1</li>';
  4. $text = preg_replace($u1, $u2, $text);
  5. ?>
spit
Ha, faktycznie, to przez literówkę, teraz działa i mój, i Twój kod. Takie rzeczy lubią wstrzymać pracę. Dzięki wielkie!
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.