Autor Zpráva
Exkalibr
Profil *
Když v textu najdu tag b, chci aby hledaný uzavírací tag byl b, ne jak tu:

preg_match_all("%\[[buisr]\].*?\[/[buisr]\]%m", $message, $matches);

Ale podobně jak tu:
preg_match_all('%\[([buisr])\].*?\[$1\]%m', $message, $matches)
a
preg_match_all('%\[([buisr])\].*?\[\1\]%m', $message, $matches)
tyto dva výrazy mi ale vrací prázdné výsledky.
RastyAmateur
Profil
Chybí ti tam lomítko (oproti tomu prvnímu příkladu).
$message = "hello [*b]world[/b] !!!";
preg_match_all('%\[([buisr])\](.*?)\[/\1\]%m', $message, $matches);
var_dump($matches);

# array(3) { [0]=> array(1) { [0]=> string(12) "[*b]world[/b]" } [1]=> array(1) { [0]=> string(1) "b" } [2]=> array(1) { [0]=> string(5) "world" } }
Ty hvězdičky do [*b] jsem dal úmyslně, aby to DJPW nezvýrazňovala.
Exkalibr
Profil *
Proč tam musí být to lomítko /? Myslel jsem že tam má být backslash. Tuto sekvenci /\ nechápu.
Davex
Profil
Aby se hledal uzavírací tag s lomítkem.
Exkalibr
Profil *
Už chápu.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0