Autor Zpráva
ph@tE
Profil *
Mám funkci, která zjistí jestli se v textu kříží tagy:

function nekrizTagy($text) {
$premen = array("<strong>|</strong>",
"<em>|</em>",
"<code>|</code>",
"<a(.*)>|</a>",
"<font(.*)>|</font>",
"<abbr(.*)>|</abbr>",
"<cite>|</cite>",
);
$pocetMenenychTagu = count($premen);
$krizeni = "no";

for($a=0;$a < $pocetMenenychTagu;$a++) {
for($b=0;$b < $pocetMenenychTagu;$b++):
$tagy = explode("|", $premen[$a]);
$tagy2 = explode("|", $premen[$b]);

if(ereg("$tagy[0](.*)$tagy2[0](.*)[^$tagy2[1]](.*)$tagy[1](.*)[^$tagy2 [0]](.*)$tagy2[1]", $text)):
$krizeni = "yes";
endif;
endfor;
}
return $krizeni;
}


Vrátí "yes" pokud se kříží, například pokud se $text rovná "Nějaký text<strong>nějaký text<em>nějaký text</strong>nějaký text</em>"

Problém je v tom, že vrátí "yes" i když se v $text tagy evidentně nekříží např. pokud se $text rovná "Nějaký text<strong>nějaký text</strong>nějaký text<em>nějaký text</em>nějaký text<strong>nějaký text</strong>nějaký text<em>nějaký text</em>nějaký text"

Nevíte co s tím?? Já už netuším...
ph@tE
Profil *
Už jsem to vyřešil jinak:-)
Toto téma je uzamčeno. Odpověď nelze zaslat.