Autor Zpráva
P
Profil *
Mám následující skript:

<?

$sabka = '

[bla]
test <BR><BR>
     [ble]
dddd

    <BR><BR>
     [/ble]
     <BR><BR>sdsd
[/bla]

';
$cykl = "bla";
preg_match('|\['.$cykl.'\](.*)\[\/?[A-Z, a-z, 0-9]*\]|is', $sabka, $matches);

echo $matches[0];

?>


Výstup vypíše
[bla] test

[ble] dddd

[/ble]

sdsd [/bla]


ale správně by měl vypsat
[bla] test

[ble] 


CO tam mám špatně?
Díky
nightfish
Profil
přidej si ještě modifikátor U (ungreedy)
a bude to dělat to, co chceš
P
Profil *
Ok, díky!

Ještě jeden problém, tohle mám v preg_match: ([=?<?>?(!=)?]) a správně by to mělo vyhovovat kterémukoliv ze znaků = < > !=, může tam být vždy jen jeden z těch znaků a to jen jednou, ale zároveň by to mělo vyhovovat i když tam nebude vůbec nic (takže bude vyhovovat kkkkk > oooo, také bude vyhovovat kkkk ooooo, ale už nebude vyhovovat kkkkk >> oooo)
P
Profil *
Tak už sem to vyřešil problém byl v použití || k uzavření výrazu s // to funguje, jaký je v to rozdíl?

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