php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
<img> nach [IMG] replacen


 
jensn
28-11-2008, 15:43 
 
Hi,

hat jemand zufällig eine kurze Cidezeile parat, wie ich in einem String alle Vorkommen von <img> in wandle?

Also aus:

<img src=cms/bild.jpg width=500 height=293/>

soll

[IMG.] cms/bild.jpg (ohne den Punkt, sonst wird das hier nicht dargestellt...)

werden.

Danke
Jens

 
Griecherus
28-11-2008, 16:06 
 
Das geht am besten über einen Regulären Ausdruck (http://www.google.de/search?q=regul%C3%A4rer+ausdruck&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a).


<\s*img\s*src=([^\s]+)\s*width=[^\s]+\s*height=[^\s]+\s*/>


Dieser Ausdruck trifft relativ streng auf das von dir gegebene Muster zu. Du solltest allerdings beachten, dass dein Beispiel kein valides HTML ist. Beispielsweise fehlen um die Attribute des img-Elements Anführungszeichen. Wenn du solche Variationen erlauben möchtest, musst du den Ausdruck entsprechend anpassen.

Grüße

 
jensn
28-11-2008, 16:37 
 
Danke für Deinen Tipp.
Leider kenne ich mir regex immer noch nicht aus.

Wie würden denn das komplette Beispiel aussehen?

Jens

 
Griecherus
28-11-2008, 16:41 
 
Original geschrieben von jensn
Danke für Deinen Tipp.
Leider kenne ich mir regex immer noch nicht aus.

Wie würden denn das komplette Beispiel aussehen?

Jens
Das darfst du dir schön selbst erarbeiten (oder du lässt es nach "Projekthilfe" verschieben). ;)
Du hast ein konkretes Problem und suchst dafür einen Lösungsansatz, für den dir das nötige Wissen fehlt. Nimm das als Anreiz, dich näher damit zu beschäftigen. Früher oder später wirst du das ohnehin müssen, wenn du Programmieren möchtest.
Eine meiner Meinung nach sehr gute Seite zu Regulären Ausdrücken ist diese hier (http://www.regular-expressions.info/).


Grüße

 
Kropff
28-11-2008, 19:27 
 
schau dir ggf. mal das hier (http://www.peterkropff.de/tutorials/php_mysql_regexp/php_mysql_regexp.htm) an. vielleicht ist was für dich dabei.

peter

 
hallojo
30-11-2008, 15:47 
 
Versuchs doch mal mit
str_replace();
in verbindung mit
preg_match();

Allerdings müsste das ganze dann ohne die width und hight angabe gehen!


Gruß John


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:08 Uhr.