Suche mit Regulären ausdrücken

liquidbeats

Erfahrenes Mitglied
Guten Abend,

ich stehe gerade vor einem Problem wo ich nicht so recht weis wie ich das Lösen könnte.
Momentan suche ich danach src=" was auch einwandfrei Funktioniert, wie aber kann ich http ausschließen?

Danke

Grüße
 
Verstehe jetzt nicht so ganz was Du wirklich willst, da Dein Text doch sehr
dünn ist, aber hier ein Beispiel:

PHP:
<?php 

$url = "http";
preg_match("/[^http]/i",$url, $matches);

?>
 
> [^http]

[ und ] definiert eine Zeichenklasse, keine kompletten Strings ...
 
Danke CIX88 für die Info, war schon spät. Dann hier die einfachste Version!
PHP:
<?php 

    $image = '<img src="http://www.domain.de/image.jpg>"';
    preg_match('/src=/i',$image, $matches);

?>
 
RS9999 hat gesagt.:
Danke CIX88 für die Info, war schon spät. Dann hier die einfachste Version!
PHP:
<?php 

    $image = '<img src="http://www.domain.de/image.jpg>"';
    preg_match('/src=/i',$image, $matches);

?>
Dafür so einen aufwand? Wozu überhaupt regulären Ausdruck verwenden?

Zutat aus der Dokumentation:
Tipp: Verwenden Sie nicht preg_match(), wenn Sie nur überprüfen wollen, ob eine Zeichenkette in einer anderen Zeichenkette enthalten ist. Verwenden Sie dafür stattdessen die Funktionen strpos() oder strstr(), die das schneller erledigen.
 
Vielen Dank :)
Es soll nicht nur Überprüft werden, es sollen vorkommen welche mit src="http: beginnen Ignoriert werden, und beispielsweise src="/images durch src="http://url.tld/images ersetzt werden.

Ich hab es etwas umständliches gelöst, so das ersteinmal alles src ersetzt werden, und im endeffekt doppelt http:// gesucht werden, und das falsche gelöscht wird.
Umständlich hat aber ersteinmal geholfen.

Wollte zu einem Späteren Zeitpunkt eine saubere Methode versuchen.

Gumbos Beispiel schaut sehr gut aus, Probier ich morgen ma aus :)
PHP:
preg_match('/src="((?!http)[^"]+)"/i',$url, $match);

Grüße
 
Zurück