Gunnar Bittersmann: kleiner Tipp zu regex

Beitrag lesen

@@heinetz:

nuqneH

'/(<a.*href=")(./?site_id=|?site_id=)(\d+)([^"]?)([^"]*)/'

Du willst '<ahref="' und '<axhref="' erkennen, nicht aber '<a  href="' und '<a
href="'?

Zwischen '<a' und 'href="' kann beliebiger Whitespace stehen, auch mehrere Zeichen hintereinander. Ebenso links und rechts des '='.

Anführungszeichen können einfache oder doppelte sein, aber paarweise.

'/(<a.*href=")/'

Der sähe eher so aus: '/(<a[\s\t\n]+href[\s\t\n]*=[\s\t\n]*['"])/'.

Was ist der Ansatz, das Muster anzupassen?

Wie suit sagte, einen XML- oder HTML/DOM-Parser verwenden. Schönen Gruß von Zawinski.

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)