Autor Zpráva
Exkalibr
Profil *
V php 5 používám tento příkaz

 preg_match_all("/\[quote\].*\[/quote\]/i", $post_info['message'], $results);

Chci zjistit, jestli délka citace, která je použita v odesílaném příspěvku není moc dlouhá (protože chci na foru omezit příliš dlouhé citace). Hlásí mi to tuto chybu:

preg_match_all(): Unknown modifier 'q'

Nechápu proč a jak tu závadu odstranit. Taky se chci zeptat jestli tu enní problém v tom, že výsledek bude zahrnovat i vnořené citace? Nejraději bych kód napsal tak, aby celková délka všech nevnořených citací byla např. 1500 znaků.


1500 by bylo povolené maximum pro jeden příspěvek.
Kajman
Profil
Jako delimiter používáte znak /, pokud se uvnitř nemá chovat jako delimiter, musíte ho escapovat. Navíc bych zpětná lomítka také escapoval, pro jistotu, aby se tam nevyskytnula sekvence značící ve stringu něco jiného. Za hvězdičku si dejte otazník, aby hledal co nejkratší shodu (nebo použijte flag U). Doporučuji si o regulárech něco přečíst, než s nimi začnete pracovat.
Exkalibr
Profil *
Ještě dotaz.
preg_match_all("|\[quote=.{0,15}\].*|i", $post_info['message'], $results);
print_r($results);
Z nějakého důvodu mi zkracuje původní text příspěvku na pouhých 720 znaků... takže neprohledá text celý až do konce.

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