phpbar.de logo

Mailinglisten-Archive

[php] Regular Expressions 1 oder 2 Ergebnisse

[php] Regular Expressions 1 oder 2 Ergebnisse

ANGEL Harald harald.angel at egston.com
Mit Mai 9 09:05:10 CEST 2007


 
Sebastian Mendel schrieb:
> der oder-Operand '|' müsste in Klammern einschließlich der zu suchenden Strings,
> '#\(?:[Bild:([0-9]+)\]|\[Bild:([0-9]+),([0-9]+)\])#';

Hallo Sebastian, danke noch mal für deine Hilfe und sry, weil ich ein so altes Thema noch mal aufgreife, aber:
Das mit den Klammern hab ich verstanden, aber deine "vereinfachte" Form nicht ganz:
> '#\[Bild:([0-9]+)(?:,([0-9]+))?\]#';

Ich hab jetzt nämlich beim editieren das gleiche Problem:
Der Tag kann diese 4 Aussehen haben:
<img src='bild.jpg' id='21' />
<img src='bild.jpg' id='21' style='width:100px;' />
<img src='bild.jpg' id='21' style='height:200px;' />
<img src='bild.jpg' id='21' style='width:100px;height:200px;' />

Ich hab da jetzt einen mir scheint ziemlich umständlichen weg:

$search = "#<img src='(.*)' id='([0-9]+)' style='(?:width:([0-9]+)px;|height:([0-9]+)px;|width:([0-9]+)px;height:([0-9]+)px;)' />#";

Das funktioniert zwar, aber die weite und höhe steht dann immer an unterschiedlichen Stellen im Array.
Kann man das hübscher hinbekommen?

Danke!
Harald

php::bar PHP Wiki   -   Listenarchive