php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.08.2006, 23:55  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard preg_match: Dieses verdammte RegEx :-)

Hallo,
eine letzte Frage noch, dann wäre die Hürde geschafft.
Und zwar möchte ich aus einem rießigen HTML-Code ein bestimmten <img>-Tag rausholen.
Um genau zu sein nur dessen src.
Dieser bestimmte <img>-Tag hat als alt den Inhalt von meiner Variable $_topic.
Ich habe schon einiges probiert, aber es ist immer fehlgeschlagen.
Hier einer meiner Versuche, um mein Vorhaben evtl. noch etwas klarer darzustellen:
Code:
@[img](.*)[/img]@i
Ich sehe dort keinen Fehler.
Danke im voraus.
MfG,
WasserDragoon.
phpfortgeschrittener ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.08.2006, 09:51  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich hab dir doch schon den Ungreedy Modifier erklärt.
Außerdem weiß kein Mensch außer dir, was in $_topic steht, also zeig uns, was nach dem Einsetzen der Variable darin steht.

Wenn ein RegExp nicht funktioniert, solltest du übrigens ersteinmal einen ganz groben RegExp nehmen, zB einen der nur Bilder sucht.
Danach kannst du dann versuchen, daraus das src-Attribut zu extrahieren.
Wenn das klappt, extrahierst du dir noch das jeweilige alt-Attribut.

Klappt jetzt alles? Dann kannst du bei alt="(.*)" den (.*) durch dein $_topic ersetzen.
Beachte aber, dass Sonderzeichen darin, eben auch als RegExp Sonderzeichen darin behandelt werden könnten..
Zergling-new ist offline  
Alt 07.08.2006, 18:22  
Erfahrener Benutzer
 
Registriert seit: 02.12.2003
Beiträge: 269
phpfortgeschrittener
phpfortgeschrittener eine Nachricht über ICQ schicken phpfortgeschrittener eine Nachricht über AIM schicken phpfortgeschrittener eine Nachricht über MSN schicken phpfortgeschrittener eine Nachricht über Yahoo! schicken
Standard

Ok, also das sind meine Schritte, die bis zum letzten geklappt haben.
PHP-Code:
<?php
// Schritt 1:
#preg_match ('[img](.*?)[/img]', $_code, $_img);
// Schritt 2:
#preg_match ('[img](.*?)[/img]', $_code, $_img);
// Schritt 3 - Gibt leeres Array zurück:
preg_match ('[img](.*?)[/img]'$_code$_img);
print_r ($img);
?>
Ich habe bereits alle Leerzeichen die am Anfang oder Ende stehen durch trim entfernen lassen und es gibt 100% ein Bild mit dessen alt, jedoch findet er nichts...

EDIT: Ok, danke es hat geklappt mir hat der modifier i gefehlt
phpfortgeschrittener ist offline  
Alt 08.08.2006, 08:31  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

Hallo,

kleine Ergänzung. Wenn du innerhalb von Tags suchst solltest du nicht den Punkt (.) als Lückenfüllen nehmen, sondern ein "nicht >", damit du nicht aus dem Tag rauskommst (was durch U als Ungreedy unterstützt wird.)

Beispiel:
Code:
$pattern="#(<img)([^>]*)(src=\")([^>]*)(\")([^>]*)(>)#iU";
Gruß,
Stefan
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline  
 


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
Array sortieren mit regex Lupi PHP Tipps 2008 3 21.07.2008 15:17
Regex: Auslesen der Meta-Tags einer Webseite Sucheingrenzung pepe24 PHP Tipps 2008 12 31.05.2008 15:41
2 Regex in PHP kompatible Syntax übersetzen NoiZy PHP-Fortgeschrittene 6 07.04.2008 09:04
Regex Link Problem Broadcast PHP Tipps 2008 2 29.02.2008 16:30
[gelöst :D ] regex tuts nur einmal pro zeile notyyy PHP Tipps 2008 17 24.09.2007 15:40
RegEx für Mail-Adresse (Bitte prüfen!) vollkommenegal PHP Tipps 2006 13 20.11.2006 20:02
RegEx kürzen HStev PHP Tipps 2006 5 16.02.2006 15:44
ACCEPT-ENCODING: gzip, regex ermittlung Andreas PHP-Fortgeschrittene 7 04.02.2006 16:52
habe ein paar fragen zu REGEX imported_kremser PHP Tipps 2006 11 31.01.2006 15:30
RegEx findet Stringvorkommen nicht PHP Tipps 2007 6 08.12.2005 21:52
Anker Links parsen (RegEx) Spyker PHP Tipps 2005 1 31.01.2005 12:01
Regex für attribute in quelltexten robo47 PHP Tipps 2005 6 27.01.2005 18:29
Dringend: RegEx zur bearbeitung vom Dateipfaden... PHP Tipps 2005 5 12.01.2005 10:59
Regex über mehrere zeilen PHP-Fortgeschrittene 3 25.12.2004 16:48
[Erledigt] Regex für selektives Replacement PHP-Fortgeschrittene 2 25.12.2004 15:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match img, preg_match <img, preg_match_all leeres array, regex preg_match, php preg_match img, preg_match_all img tag, #( )#iu php, preg_match \#iu\, php preg_match bilder finden, php regex img mit bestimmten tag, regex für img-tag mit php-variablen, php img preg_match, preg_match_all(\'/<img[^>] >/i\', php preg_match img tag, preg_match nur bilder, <img> finden preg_match, preg_match <img tag, preg_match alt= tag, msn php regex

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:16 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.