RegS?ex auf der SEO-Campixx 2011 — Der RegEx Vortrag

Am Wochenende hat die SEO-Campixx 2011 in Berlin stattgefunden.
Über die Vorträge, die ich mir angesehen habe werde ich heute Abend wohl noch einen Beitrag schreiben. Hier nur mein Vortrag.

Nachdem ich letztes Jahr über Excel für SEOs geredet hatte dieses Mal eine weitere Nieschen-Session. Auch dieses Jahr war ich von der Beteiligung positiv überrascht 30 Leute etwa wollten wissen, was ich so mit Regulären Ausdrücken (RegEx) anstelle.

<divstyle=“width:425px“ id=“__ss_7258300″>RegS?ex — SEO-Campixx 2011

Nach dem ich durch die Folien gerauscht war (Steigerungslauf, Sprechgeschwindigkeitstechnisch…), haben wir noch ein bisschen Q&A gemacht. So hatte zum Beispiel Axel gefragt, wie ich folgendes Problem lösen würde:
* 100 URLs, von denen ich die Description haben will (+Zeichen zählen)
Grundsätzlich gibt es mE zwei fixe Herangehensweisen:

  1. kleines PHP-Skript (get_file_contents und preg_match sind hier die Stichwörter)
  2. Terminal:
    curl www.kfz.net | grep "description" | sed 's/meta name="description" content="//g' | wc

Curl holt dabei das HTML, grep sucht die Zeile raus, die Description enthält und mit sed ersetzen wird alles, was wir aus dieser Zeile nicht brauchen. Die hier verwendete RegEx funktioniert natürlich nur zuverlässig, wenn alle URLs, die ich mir hole im Head-Bereich das gleiche Template verwenden. Alternativ (und eigentlich einfacher) wäre es nicht zu löschen, was wir nicht brauchen, sondern nur zu behalten, was wir brauchen. Also nicht nach ‚<meta name="description"content="' zu suchen, sondern nach '.*content="(["]+)".*' und das zu ersetzen durch $1. Natürlich schlägt das fehl, wenn ich Anführungszeichen in der Description habe, aber das wäre ja eh nicht valide… 😉

Der letzte angehängte Befehl (wc) gibt dann noch die Anzahl der Wörter, Zeilen und Zeichen aus. Wenn ich mir also eine kleine Schleife baue, die den Befehl für jede URL durchzieht hab ich fix mein Ergebnis.

Danke an alle Teilnehmer des Workshops für Eure Nachfragen, Anregungen und Anmerkungen und dafür, dass Ihr es mir so einfach gemacht habt über ein komplexes Thema zu sprechen. Hoffe es hat Euch ein paar neue Ideen eingebracht.