Autor Zpráva
Deska
Profil
Ahoj,
po dni boji s googlem jsem se rozhodl obrátit se na vás.
Zde je můj problém.

<?php
$zdroj = "as@dfasdfasdfsaf<ul>asdfsdf<ul>sdfasdfsdF<ul>sdfasdfsadfsaD<ul>asdfasdfsdf<ul>asdasd";

$pattern = '/@(.*)<ul>/';
preg_match($pattern, $zdroj, $matches);
print_r($matches);
?>

tohle mi dá ve výsledku "@dfasdfasdfsaf<ul>asdfsdf<ul>sdfasdfsdF<ul>sdfasdfsadfsaD<ul>asdfasdfsdf<ul>"
jak tomu mám říct aby to přestalo dál jet a zastavilo se to u prvního "<ul>" co je nastavené jako konec


Díky moc
Deska
juriad
Profil
.*?
Operátor *? znamená nežravé hledání - sebere co nejméně, na rozdíl od samotné hvězdičky, která sežere co nejvíce.

Alternativní (klasické) řešení je:
[^<]*
Tedy povolit jakékoli znaku kromě znaku <, což způsobí, že se vždy zastaví před <ul>, protože znak < bude mít zakázáno sežrat.

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: