php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.08.2008, 20:51  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 2
dobberph
Standard regulärer Ausdruck

Hi ihr,

ich hab ein ganz konkretes Problem mit einem regulären Ausdruck:

In einem String $s = "ab cd [A] hgfs e [/A] few, [A] fe=)$ [/A] few fe";
soll die preg_replace_callback alle [A] ... [/A] finden.

Ein einfaches Muster "!\[A\].*\[\/A\]!" findet leider nur denumschliessenden String $s = "[A] hgfs e [/A] few, [A] fe=)$ [/A]" und nicht die zwei innerhalb.

Jemand ne Idee?

Mfg,
DerTobi
dobberph ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.08.2008, 21:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja, /U Parameter verwenden oder "!\[A\].*?\[\/A\]!"
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 01.08.2008, 21:22  
Neuer Benutzer
 
Registriert seit: 09.04.2008
Beiträge: 2
dobberph
Standard

Mit U gehts, danke

Mfg,
DerTobi
dobberph ist offline   Mit Zitat antworten
Alt 01.08.2008, 21:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ich weiß. Geht beides...
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 01.08.2008, 23:26  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Kein Grund für \/, / muss nicht escaped werden, wenn ! als Trenner gewählt wird.
David ist offline   Mit Zitat antworten
Alt 04.08.2008, 14:55  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Ich vermute auch, dass ein normaler preg_replace() genügen dürfte, aber das hängt natürlich von der Komplexität der Ersetzung ab.
__________________
Gruss
L
lazydog ist offline   Mit Zitat antworten
Alt 05.08.2008, 09:54  
Erfahrener Benutzer
 
Registriert seit: 25.04.2005
Beiträge: 1.356
HStev zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ich weiß. Geht beides...
In diesen Beispiel kann man beide Modifikatoren verwenden. Wobei man aber unterscheiden sollte das U den ganzen RegEx ungreedy macht und das ? nur den letzten Term wobei der Rest aber weiterhin greedy bleibt.

Zitat:
Diesen Effekt nennt man gierig bzw. gefräßig und heißt greedy. Regexe wie * oder + versuchen so viel zu erfassen wie nur möglich. Dies kann in manchen Situationen, wie diese hier, unerwünscht sein. Es gibt diverse Techniken um diesen Effekt gegenzutreten.
Quelle: #php/QuakeNet Tutorial - Reguläre Ausdrücke
ps: mi als Modifiaktor würde sich hier evl. noch ganz gut machen es sei denn du hast nur Einzeiler und die Tags sind immer Uppercase.
__________________
Gewisse Dinge behält man besser für sich, z.B. das man gewisse Dinge für sich behält.
HStev ist offline   Mit Zitat antworten
Antwort


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
[Erledigt] leeres Klammernpaar nach einem Ausdruck frozen fire PHP Tipps 2008 8 04.07.2008 20:13
Regulären Ausdruck Übersetzen (preg_match) mAy^daY PHP Tipps 2007 11 04.01.2007 14:00
regulärer ausdruck farant PHP Tipps 2006 3 05.10.2006 12:19
Logischer Ausdruck aus DB überprüfen c!w PHP Tipps 2006 15 12.09.2006 13:36
Mit if Abfrage innerhalb eines strings einen Ausdruck suchen tinchen PHP Tipps 2006 4 11.04.2006 10:18
Problem mit Regulärem Ausdruck. daniel987 PHP-Fortgeschrittene 2 05.03.2006 22:12
Regul�rer Ausdruck PHP Tipps 2006 3 01.02.2006 19:50
Regulärer Ausdruck: Ping-Zeiten speichern mAy^daY Server, Hosting und Workstations 9 12.01.2006 19:51
Regulärer Ausdruck funktioniert nicht PHP Tipps 2006 12 05.01.2006 20:56
Regulärer Ausdruck für Emailadressen FireFIghter PHP Tipps 2007 5 30.12.2005 13:28
Problem mit regul�rem Ausdruck BastianX75 PHP Tipps 2007 5 14.12.2005 14:38
[Erledigt] Regulärer Ausdruck HILFE!! PHP-Fortgeschrittene 6 22.07.2005 16:39
Regulären Ausdruck Beitragsarchiv 6 20.04.2005 23:53
[Erledigt] Regulärer Ausdruck zum Testen auf Bildadresse PHP-Fortgeschrittene 9 05.02.2005 16:25
[Erledigt] Regulärer Ausdruck PHP-Fortgeschrittene 1 21.01.2005 11:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php greedy, php ausdruck, reguläre ausdrücke greedy, ausdruck php, php reguläre ausdrücke greedy, reguläre ausdrücke php greedy, php greeedy, php regular ausdruck, reguläre ausdrücke php, php greedy lazy, ausdruck in php, php oder ausdruck, php regulärer ausdruck nicht greedy, ausdrücke php, regulärer ausdruck greedy, php reguläre ausdrücke was bedeutet \u\, regulären ausdrucks php, php % ausdruck, php ausdruck oder, php reguläre ausdrücke

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