php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 30.12.2011, 23:50  
Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 91
PHP-Kenntnisse:
Anfänger
Ghostt ist in Verruf geraten
Standard [REGEX] Match all Image urls

Hallo,
ich stehe vor einem REGEX Problem bei dem ich hilfe benötige

Es sollen alle direkte Image links gematcht werden. keine anderen urls etc.
(auch keine links mit endung jpg.html)


Diese von mir etnwickelte regex funktioniert nur leider nicht mit dem letzten match aus der liste (siehe match liste unten).
Code:
(https?:\/\/(?:[a-zA-Z0-9\S]+\.)?[a-zA-Z0-9\S]+\.[a-z]{2,4}\/[^\s]+\.(?:jpe?g|gif|png))[^\.]
folgendes falsches ergebnis wird ausgegebenen (letzter match aus der liste):
Code:
http://www.imageporter.com/v3r89b31hxue/5ab18d1d44bfbff0f8ff49c67192c7.jpg.html">http://img80.imageporter.com/i/074/v3r89b1xue_t.jpg


MAtch liste:
Code:
<img src="http://picsee.net/upload/2011-12-13/46377a9e93a.jpg" alt="4637a7a9e93a.jpg" />

https://lh6.googleusercontent.com/-U88QdNSQ/Trk3MI/AAArw/4kjrQMmpjQ/s512/94301.jpg

<a href="http://www.imageporter.com/kjhgvyksv63/front.jpg.html"> http://img80.imageporter.com/i/0071/kjhgvykst63_t.jpg </a> 

<a href="http://www.imageporter.com/v3r89b31hxue/52992c7.jpg.html">http://img80.imageporter.com/i/00754/vue_t.jpg</a>

<a href="http://www.imageporter.com/v3r89b31hxue/5ab18d1d44bfbff0f8ff49c67192c7.jpg.html">http://img80.imageporter.com/i/074/v3r89b1xue_t.jpg</a>
Ghostt ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.12.2011, 00:35  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Bin mir nicht ganz sicher, ob ich verstanden habe, was Du mit direkte Image links meinst, aber das sollte imho den Zweck erfüllen:
PHP-Code:
preg_match_all'#(http://[^"]+\.(jpg|gif|png))#is'$matchList$matchResult );
print_r$matchResult ); 
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 31.12.2011, 00:42  
Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 91
PHP-Kenntnisse:
Anfänger
Ghostt ist in Verruf geraten
Standard

so gehts

danke arne drews, dein lösungsansatz hat mir geholfen meinen regex zu fixen:

PHP-Code:
(https?://(?:[a-zA-Z0-9]+.)?[a-zA-Z0-9]+.[a-z]{2,4}/[^s"]+\.(?:jpe?g|gif|png))[^\.] 
sieht bischen komplex aus aber dieser ganzer teil ist nur für die domain matchen da:
"(https?:\/\/(?:[a-zA-Z0-9]+\.)?[a-zA-Z0-9]+\.[a-z]{2,4}"
Ghostt ist offline   Mit Zitat antworten
Alt 31.12.2011, 00:44  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Entschuldige, aber wofür benötigst Du denn das ganze Gedöns
Sollte auch bei meiner RegEx das rauskommen, was Du benötigst...
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:00  
Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 91
PHP-Kenntnisse:
Anfänger
Ghostt ist in Verruf geraten
Standard

ne deine matcht zu viel auch normale urls usw.
Ghostt ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:03  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

ah ok... welche der urls willste denn haben? Alleinstehende? aus dem src-Attribut? aus dem href-Attribut?
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:06  
Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 91
PHP-Kenntnisse:
Anfänger
Ghostt ist in Verruf geraten
Standard

eigentlich alle echten Bilder urls... ich denke die ausm href-attrubut wären auch überflüssig. aber alles andere. und wie gesagt urls mit endungen jpg.html o.ä sind auch keine bilder.

Geändert von Ghostt (31.12.2011 um 01:10 Uhr).
Ghostt ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:15  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Dann grenzen wir das halt ein:
Code:
#(?<!href=")(https?://[^"]+\.(jpg|gif|png))(?!.html)#is
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:21  
Benutzer
 
Registriert seit: 26.08.2009
Beiträge: 91
PHP-Kenntnisse:
Anfänger
Ghostt ist in Verruf geraten
Standard

deins matcht immer noch zu viel die ganzen zeichen die vor und hinter der url sein künten usw matcht es mit.,
da ist meine lösung besser meiner meinung nach.

Code:
(?<!href\=")(https?:\/\/(?:[a-zA-Z0-9-]+\.)?[a-zA-Z0-9-]+\.[a-z]{2,4}\/[^\s"\[\]]+\.(?:jpe?g|gif|png))[^\.]
Ghostt ist offline   Mit Zitat antworten
Alt 31.12.2011, 01:24  
Erfahrener Benutzer
 
Benutzerbild von Arne Drews
 
Registriert seit: 22.04.2009
Beiträge: 3.486
PHP-Kenntnisse:
Anfänger
Arne Drews wird schon bald berühmt werdenArne Drews wird schon bald berühmt werden
Arne Drews eine Nachricht über Skype™ schicken
Standard

Zitat:
die ganzen zeichen die vor und hinter der url sein künten usw matcht es mit.
rätst Du das
Wenn ich die RegEx über Deine Matchliste aus dem Eingangspost laufen lassen, erhalte ich dieses Ergebnis für $matchResult[0]:
Code:
Array
(
    [0] => http://picsee.net/upload/2011-12-13/46377a9e93a.jpg
    [1] => https://lh6.googleusercontent.com/-U88QdNSQ/Trk3MI/AAArw/4kjrQMmpjQ/s512/94301.jpg
    [2] => http://img80.imageporter.com/i/0071/kjhgvykst63_t.jpg
    [3] => http://img80.imageporter.com/i/00754/vue_t.jpg
    [4] => http://img80.imageporter.com/i/074/v3r89b1xue_t.jpg
)
...weder davor noch dahinter zu viele Zeichen
__________________
Phantasie ist wichtiger als Wissen, denn Wissen ist begrenzt.
Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind.
Albert Einstein
Arne Drews ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
SQL Abfrage mit Image Ausgabe verbinden Davidian PHP Einsteiger 2 15.12.2011 16:29
[Erledigt] Frage zu Volltexte-Suche MATCH / AGAINST geneticZ Datenbanken 4 28.11.2011 14:47
[Erledigt] MySQL ignoriert Sonderzeichen. php-dummy PHP Einsteiger 26 15.09.2011 16:08
[Erledigt] Image ID in MySql speichern ZaphoodB PHP Einsteiger 5 20.04.2011 13:24
[REGEX] 2 embed code src links extrahieren Ghostt PHP Einsteiger 10 17.04.2011 23:32
Problem bei Image speichern in DB McK PHP-Fortgeschrittene 7 15.05.2010 16:26
URLs erzeugen und routen fat32 Software-Design 5 25.10.2009 19:54
variable mit onclick an php drombusch PHP Tipps 2009 8 30.08.2009 14:45
[Erledigt] PHP Image Upload &amp; Resize Problem da.eXecutoR PHP-Fortgeschrittene 10 14.08.2009 11:50
mod_rewrite Problem mit encodierten URLs R4v3r Server, Hosting und Workstations 0 25.07.2008 18:42
Suche (MATCH) mit MYSQL ruferp Datenbanken 1 10.09.2007 22:06
Bilder Klasse snatch-ic Beitragsarchiv 1 13.06.2007 11:45
MATCH .... AGAINST ... Problem Denise Datenbanken 4 21.03.2007 20:05
DPI Anzahl beim erzeugen von Bildern mit GD2 Lib einstellen? PHP Tipps 2005 13 28.04.2005 14:39
Problem mit Wasserzeichen auf Bildern pixelcut PHP-Fortgeschrittene 16 14.12.2004 02:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
regex jpg gif png href, regex match all ausgabe, regex match all urls, java regex = \all links url, php regex all links, php regex match, http://img80.imageporter.com, regex match url, regex match anchor with jpg href, php bilder in einem post überprüfen, php regular expression match_all, php regex match everything

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:46 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum