Autor Zpráva
hejdulka
Profil *
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
stripslashes()

BTW, oprav si kód
echo "<tr><td>$kat</td></tr>";
bohyn
Profil
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
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);

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: