PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : preg_match_all


reinhardlange
20.06.2008, 15:55:18
Hallole,

habe einen Text als String:

... jetzt kommt ein Bild <bild>bild.jpg</bild> und weiterer Text ...

funktioniert mit preg_match_all auch -> "/(<bild>.*<\/bild>)/iU"

[0] => Array
(
[0] => bild.jpg
[1] => bild.jpg
)


aber

... jetzt kommt ein Bild <bild>bild.jpg<text>Test-Text</bild> und weiterer Text ...

bekomme ich nicht hin

[0] => Array
(
[0] => bild.jpgTest-Text
[1] => bild.jpgTest-Text
)

Ich hatte erwartet, dass folgendes ausgegeben wird:

[0] => Array
(
[0] => bild.jpg
[1] => bild.jpg
[2] => Test-Text
)

... hat jemand einen guten Rat?

Vielen Dank!

Reinhard

smartweb
20.06.2008, 23:11:55
Hi,



.* matcht auch <, also such lieber nach etwas, was < und > nicht beinhaltet, z.B. ([a-zA-Z0-9\.-_]+)

reinhardlange
21.06.2008, 09:12:57
Hi, wieder etwas gelernt.

Gilt das auch für andere Zeichen?

z.B: {bild} bzw. [bild] oder #bild#

Gruss Reinhard

smartweb
21.06.2008, 16:44:47
Hi, wieder etwas gelernt.

Gilt das auch für andere Zeichen?

z.B: {bild} bzw. [bild] oder #bild#

Gruss Reinhard

.* matcht _alle_ Zeichen.

reinhardlange
21.06.2008, 19:12:05
ok, danke für die Info, mus ich mir halt etwas anderes überlegen.

Gruss und schönes Wochenende

Reinhard

smartweb
21.06.2008, 19:42:47
ok, danke für die Info, mus ich mir halt etwas anderes überlegen.

Gruss und schönes Wochenende

Reinhard

Naja, das kommt eben darauf an, was Du machen möchtest...

Ansonsten:

=<bild[^>]*>(.*)bild>=siU

und bei dem Ergebniss dann strip_tags() anwenden...