Autor Zpráva
Exkalibr
Profil *
Nedaří se mi rozjet tento regulární výraz:
$pattern[] = '#\[url=([^"\\]*?)\]([^"\\]*?)\[/url\]#ms';
Místo toho mě kompilátor nutí psát to bez zpětného lomítka:
$pattern[] = '#\[url=([^"]*?)\]([^"]*?)\[/url\]#ms';
Compilation failed: missing terminating ] for character class at offset 34

Prý se má backslash escapovat, ale proč to teda hlásí chybu? [\\]
Kajman
Profil
Aby se dostalo do reguláru escpované zpětné lomítko (tedy dvě po sobě), musí být přeci ve stringu 4 zpětná lomítka.
Exkalibr
Profil *
No funguje to, ale nechápu proč. Myslel jsem že má být escapováno jen jednou.
Keeehi
Profil
Exkalibr:
Jednou za string, jednou za regulár.

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