Zum Inhalt springen

[PHP] reguläre Ausdruck und assosiatives Array

Empfohlene Beiträge

Hallo,

ich verzweifele im moment ein klein bißchen daran ein Stück HTML-Code zu parsen. Die Site besteht u.a. aus Teilen der Form:

<a href="/search/eric+clapton?page=2">3</a>

Nun würde ich gerne auf die Textteile dieser Art so einschlagen das ich da die Zahl bekomme die hinter page= steht in diesem Fall also die 2. Mein Ansatz sieht im moment so aus das ich folgenden Code fabriziert habe. Aber irgendwie liefert das count immer Null als Array länge zurück.


preg_match_all('/(<a href="\/search\/)([a-zA-Z+-]*)(\?page=)(?P<pages>\d+)/',$string,$match);


$keys = array_keys($match);

echo count($match[$keys[0]]);

vielleicht findet ja jemand an diesem verregneten Sonntag die Lust mal kurz über den Code herüber zu schauen und mir zu sagen was ich falsch mache ich wäre über einen entsprechenden Hinweis auf jeden Fall sehr dankbar.

viele Grüsse

Dan

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo hawkeye,

ich komm jetzt auf die Schnelle auf folgendes Patter:

(?<!a)(?<=page=).*(?=")

Ist nicht getestet und nur schnell zusammengereihmt, also Asche auf mein Haupt, wenn's nicht korrekt ist ;)

Greetz

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo,

ich habe das Problem mal heute morgen einen guten Bekannten von mir geschildert und er hat mir daruaf hin einen regulären Ausdruck zusammen gestellt. Der auf den ersten Blick deutlich besser aussieht als das was ich da zusammen gebastelt habe, aber leider findet er nur ein Ergebnis und ich kapiere ehrlich gesagt nicht warum. Da die links eigentlich alle gleich aufgebaut sind.

Der Ausdruck hat im moment die Form:


preg_match_all('/<a href="\/search\/.*\/?page=(?<pages>[\d]*)/',$string,$match);

//echo var_dump($match);

echo count($match['pages']);
[/PHP]

Aber vielleicht übersehen wir einfach auch nur etwas, es geht darum diese[1] Seite zu parsen.

Ich wäre über einen tipp auf jeden fall sehr dankbar, da ich schon eine ganze weile mit meinem Latein am Ende bin.

viele Grüsse

Dan

[1] Search for Artists and Albums on gnudb.org an alternativ place for the free CD database.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Deine Meinung

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich an , um mit Deinem Konto zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.


Fachinformatiker.de, 2020 SE Internet Services

fidelogo_small.png

if_icon-6-mail-envelope-closed_314900.pnSchicken Sie uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App


Get it on Google Play

Kontakt

Hier werben?
Oder senden Sie eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...

Wichtige Information

Fachinformatiker.de verwendet Cookies. Mehr dazu in unserer Datenschutzerklärung