#
Pozdravljeni,
naletel sem na problem, ki mi rahlo greni življenje in mislim, da bi ga kdo tukaj brez večjega problema rešil.
// prvi
$ref = preg_match_all( "{\[ref\](.*)\[\/ref\]}i", $txt, $ret );
// drugi
$ref = preg_match_all( "{\[ref\]([^\[\/ref\]]*.*)\[\/ref\]}i", $txt, $ret );
Mene zanima vse med tagoma [ref] in [/ref], kar ni problematično, je pa problem če se pojavita dva v istem subjectu ($txt), ker dobim nazaj vse kar je med zunanjima dvema.
Upam da ima kdo minutko časa in volje za pomoč.
Hvala
všeč(0)
ni všeč(0)
spam(0)
#
Moje znanje regexov je bilo do nedavnega nekako omejeno na osnove (razni a-z 0-9 mogoče še kakšen \w in \s), ampak zaradi potrebe po parsanju ne ravno prijetnih spakedrank je bilo treba rahlo bolj se poglobiti v to.
Šlo je, če odštejemo porodne težave, kar precej gladko, do tegale:
pregmatchall('/<strong>([\w]+:)<\/strong>([A-Ža-ž\s\d.+-\/()_]+)<br>/', ...);
Najde sicer 90% vrstic, ki jih iščem, nekaj pa jih pade ven. Recimo tale:
<strong>VARNOST:</strong>4x Airbag (voznik+sovoznik+bočni blazini)meglenke___3. zavorna luč<br>
Čas za lepotne popravke pride kasneje, ampak tukaj res ne vidim razloga, da stvar ne bi ustrezala.
:(
Edit: gre za PHP
všeč(0)
ni všeč(0)
spam(0)