ugrás a tartalomhoz

Szabályos kifejezések használata

Velias9 · 2008. Aug. 11. (H), 16.59
Sziasztok!

A Perl típusú szabályos kifejezésekről szeretnék kérdezni. (Remélem jól írtam.)
A PHP 24 óra alatt c. könyvben volt róla szó a 'preg_...' függvények kapcsán, de nem értem. A "nem értem" úgy értendő, hogy egy már kész kódot nagy nehezen vissza tudok keresni és felfogom, hogy mire is jó, de nem tudok rendes szűrőket írni. A kérdés az, hogy tudtok valamilyen oldalt, ahol (lehetőleg magyrul) rendesen elmagyarázzák ezeknek a használatát?

Előre is mindent köszönök!
 
1

Reguláris kifejezések

Török Gábor · 2008. Aug. 11. (H), 17.28
Felejtsd el az idétlen kiskapus „szabályos kifejezések” fordítást, és keress rá a reguláris kifejezések kulcsszóra.
2

könyv

gex · 2008. Aug. 11. (H), 17.50
megveszed Jeffrey E. F. Friedl Reguláris kifejezések mesterfokon c. könyvét (tudom, hogy a kiskapuban pont nincs) és elolvasod. érteni fogsz belőle mindent.
3

Sürgősen kéne.

Velias9 · 2008. Aug. 12. (K), 17.51
Ígérem mélyreható tanulmányokat fogok folytatni a reguláris kifejezések témakörében, de sürgősen meg kéne oldanom egy feladatot. Egy honlap forrását beolvasva meg kéne szereznem az összes hivatkozása címét.
A gond az, hogy sok feltételnek meg kéne felelnie a szűrőnek:
- a "href" lehet kis-, nagy- és vegyes betűkkel írva
- az = jel után szerepelhet '"', "'" és semmi is
- a végén ugyan így; és a közöttük lévő szövegre van szükségem

Valami ilyesmit alkottam:

...

$html = file_get_contents("beolvas.htm");

preg_match_all("/href=['\"].[a-zA-Z0-9\\\/]*['\"]./", $html, $eredmenyek);

print("<pre>");
print_r($eredmenyek);
print("</pre>");

...
Azonban ez nem jó. Nagyon szépen megköszönném, ha segítenétek!
4

Ehhez mit szólsz?

Poetro · 2008. Aug. 12. (K), 22.51

preg_match_all('#href=(?:"([^"]*)"|\'([^\']*)\'|([^"\'][^\s>]*)(?:\s|>))#', $html, $matches, PREG_SET_ORDER);
print_r($matches);
Pár perc alatt dobtam össze, lehet nem a legoptimálisabb.
6

guli mondja: regexlib ?

toxin · 2008. Aug. 13. (Sze), 19.03
http://regexlib.com/Search.aspx?k=url

üdv Csaba

ui: jah látom spec igényeid voltak, bocsesz
5

tesztelgetés

rrd · 2008. Aug. 13. (Sze), 15.47
Ha nagyjából tisztában vagy a dolgokkal, akkor itt gyorsan tesztelheted, hogy az általad kreált minta rendben van-e.