Autor | Zpráva | ||
---|---|---|---|
hejdulka Profil * |
#1 · Zasláno: 19. 12. 2008, 12:23:50
jeste problemecek s lomitky:
znovu kod stranky: if($_POST['submit']) { $mmm1 = $_POST['mmm1']; preg_match("'<a href=\"/irger/pa.html\" class=\"pathhigh\">(.*?)</a>'", $mmm1, $kategorie); $kat=$kategorie[1]; echo "<tr><td>$kat</td</tr>"; } echo" <form method=\"post\" action=\"pokus.php\"> <textarea name=\"mmm1\" rows=2 cols=2></textarea> <input type=\"submit\" name=\"submit\" value=\"Vložit\"> </form>"; a jde o to, ze do toho formulare vlozim tento text: <a href="/irger/pa.html" class="pathhigh">1.1 a</a> ale z formulare mi vyleze: <a href=\"/irger/pa.html\" class=\"pathhigh\">1.1 a</a> pravdepodobne nejaka ochrana, ale nevim jak se pohnout dal, protoze ten preg_match mysli, ze tam ty lomitka nejsou (tzn $kat a $kategorie[1] jsou prazdne) |
||
DJ Miky Profil |
#2 · Zasláno: 19. 12. 2008, 12:59:07
|
||
bohyn Profil |
#3 · Zasláno: 19. 12. 2008, 13:01:02
hejdulka
Pravdepodobne mas zapnute magic_quotes_gpc. na $mmm1 pouzij stripslashes() PCRE se uzaviraji do doprednych lomitek "/vyraz/prepinace" $mmm1 = stripslashes($mmm1); preg_match("/<a href=\"\/irger\/pa\.html\" class=\"pathhigh\">(.*?)<\/a>/", $mmm1, $kategorie); |
||
DJ Miky Profil |
#4 · Zasláno: 19. 12. 2008, 13:04:26
bohyn
Proč to dělat složitější, než to je? Reg. výrazy se nemusí uzavírat do lomítek, můžeš použít skoro cokoliv. Když už, tak použít třeba zavináč, který se v tom řetězci nevyskytuje, abys nemusel lomítka escapovat. hejdulka Zkus to takhle: preg_match("@<a href=\"/irger/pa.html\" class=\"pathhigh\">(.*?)</a>@", stripslashes($mmm1), $kategorie); |
||
Časová prodleva: 15 let
|
0