Portal > Foren > PHP > PHP-Programmierung > mal wieder ein regulärer ausdruck
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 25.05.2006, 16:58 Nach oben    #1
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard mal wieder ein regulärer ausdruck

moin leute.
ich suche mal wieder nach einen regulärem ausdruck.
bin jetzt schon seit fast einer stunden am rumprobieren aber es klappt nicht so wie ich es gerne hätte.

ich schreibe ein kleines plugin für wordpress mit dem man ganz einfach bilder gallerien innerhalb von posts mit bbcode erstellen kann.
thumbnails werden dann automatisch generiert und eingefügt.

dafür fügt man etwa solch ein konstrukt direkt in den post ein.
Code:
blablabla..... das ist drecksgelabere und sinnloß noch dazu
aber man braucht halt ein bischen blindtext
[gallery title="Test1"]
 [img]images/photos/photo1.png[/img]
 [img]images/photos/photo2.png[/img]
 [img]images/photos/photo3.png[/img]
[/gallery]
und noch mehr dummes gelabere blablabla.....
blablabla....
[gallery title="Test2" thumbSize="100,100" thumbType="png"]
 [img]images/photos/photo4.png[/img]
 [img]images/photos/photo5.png[/img]
 [img]images/photos/photo6.png[/img]
[/gallery]
<a>heheheh</a>fghfghfgh
nun brauche ich einen regulären ausdruck der mir mit hilfe von preg_match_all
alle gallerien herausfiltert damit sie geparsed werden können.
ganz simpel etwa so
Code:
[gallery].*[/gallery]
aber es haut halt net hin
beny_mcde ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.05.2006, 17:12 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.203
Standard

.* ist böse
.+? sollte eher in die richtige richtung gehen, weil mit * nimmt er das letze [/gallery] das er findet, mit .+? ist der reguläre ausdruck "ungreedy" und damit sollte er das erste [/gallery] benutzen, das er findet.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.05.2006, 17:19 Nach oben    #3
Jay
Gast
 
Beiträge: n/a
Standard

Das sollte eigentlich matchen:
Code:
~\[gallery [^\]\]*].+\[/gallery\]~sU
EDIT:
Habs jetzt getested und es matched

Geändert von Jay (25.05.2006 um 17:30 Uhr)
 
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.05.2006, 20:46 Nach oben    #5
Erfahrener Benutzer
 
Registriert seit: 28.08.2004
Ort: konstanz am bodensee
Beiträge: 190
Standard

super. vielen dank der ausdruck funktioniert wunderbar.
muss mich in das thema noch ein bischen einarbeiten.
ich kriegs zwar meistens hin aber eher durch ständiges ausprobieren und nich einfach durch nachdenken....
beny_mcde ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 25.05.2006, 21:15 Nach oben    #6
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.512
Standard

Kannst ja mal hier reinschauen:
http://www.regenechsen.de/phpwcms/index.php?regex

Ich schau da immer noch, wenn ich was nicht weiß ... und das ist oft
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 28.05.2006, 21:26 Nach oben    #7
Benutzer
 
Registriert seit: 31.12.2005
Beiträge: 90
Standard

Zitat:
Zitat von robo47
.* ist böse
.+? sollte eher in die richtige richtung gehen, weil mit * nimmt er das letze [/gallery] das er findet, mit .+? ist der reguläre ausdruck "ungreedy" und damit sollte er das erste [/gallery] benutzen, das er findet.
ich stell mir das immer wie minus und plus vor.

also

.* = +
.*? = -
/.*/U = -

+ heißt greedy, und - ungreedy. verwendet man eine variante von den minusteilen, dann ist der ausdruck ungreedy. verwendet man beide, dann wird das wieder umgekehrt und ist wieder greedy^^
björn ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Template-Blöcke "fetchen", Probleme mit regulärem Ausdruck Ben PHP-Programmierung 13 14.02.2007 20:55
Regulärer Ausdruck: Solange Suchen, bis ein nichtalphabetisches Zeichen kommt Chr!s PHP-Programmierung 2 03.02.2007 13:59
Regulärer Ausdruck la-finest PHP-Programmierung 5 10.05.2006 21:06
Seite für den Ausdruck auf A4 Alpha Centauri HTML, XML und CSS 2 20.03.2006 08:06
suche regulären ausdruck beny_mcde PHP-Programmierung 13 24.01.2006 16:53


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:54 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45