Mit regulären Ausdrücken Text und Links aus filtern
hans77
- php
Hallo zusammen,
wie kann ich die Texte und Links aus folgende Verweisen extrahieren?
Mit "Texte" meine ich alles was zwieschen >test-mediaservice< oder >seiteb.de< steht.
Links, alles was im href="..." sich befindet.
<a href="http://www.seitea.com/index.php?option=com_content&view=article&id=21&Itemid=36" target="_top"> test-daten-daten </a>
<a href="http://www.seiteb.de/" target="_blank">www.seiteb.de</a>
<a target="_blank" title="titelA, titelB, titelC, titelD, titelE, titelF" href="http://www.seiteb.de">‚seiteb.de’</a>
<a target="_blank" title="titelA" href="http://www.seiteb.de">seiteb.de</a>
<a href="http://www.seitec.de/">www.seitec.de</a>
<a target="_blank" title="TextA für TextB" href="http://www.seited.de">text - TextA für TextB</a>
<a target="_blank" title="zum Beitrag auf seited.de" href="http://www.seited.de/seite1/aktueller-beitrag.html">www.seited.de/seite1/aktueller-beitrag.html</a>
<a target="_blank" title="zu diesem Beitrag auf seited.de" href="http://www.seited.de/seite1/aktueller-beitrag.html"> nur ein text </a>
Mit meinen Versuchen bin ich leider nicht weit gekommen :-(
Mit folgendem Ausdruck über preg_match:
http\:\/\/[a-z.\/\-|\?|\=|\&|\;|\_|\d]*
finde ich nur die Links:
http://www.seitea.com/index.php?option=com_content&view=article&id=21&Itemid=36
http://www.seiteb.de/
http://www.seitec.de/
http://www.seited.de/seite1/aktueller-beitrag.html
http://www.seitee.de/seite1/aktueller-beitrag.html // ja, zwei Mal
Mit diesem Ausdruck finde ich leider noch weniger:
http:\/\/?([^\/]+).*[w]{3}.[a-z]*.[a-z][2}
finde ich nur
http://www.seiteb.de/" target="_blank">www.seiteb.de
http://www.seitec.de/">www.seitec.de
http://www.seited.de/seite1/aktueller-beitrag.html">www.seited.de
Leider auch nicht, was ich möchte.
Wie kann ich noch die Text finden?
Alles in einem Ausdruck zu vereinen.
Danke im Vorraus.
Grüße
hans77
Moin Moin!
Vergiß REs, nimm einen HTML- oder XHTML-Parser.
Alexander