php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.03.2006, 14:56  
Gast
 
Beiträge: n/a
Standard [Erledigt] preg_match_all und wiederholte Gruppierungen

Hallo,

wenn ich
Code:
preg_match_all("/((\{([^\}]*)\})*\s*)*/", "{BLOCK001}{BLOCK002}{BLOCK003}", $res);
print_r($res);
ausführe, kommt dabei folgendes raus:
Code:
Array ( [0] => Array ( [0] => {BLOCK001}{BLOCK002}{BLOCK003} [1] => ) [1] => Array ( [0] => [1] => ) [2] => Array ( [0] => {BLOCK003} [1] => ) [3] => Array ( [0] => BLOCK003 [1] => ) )
Das ist aber nicht ganz was ich will, ich hätte nämlich gerne auch "{BLOCK001}", "BLOCK001", "{BLOCK002}" und "BLOCK002" im Ergebnisarray und habe keine Ahnung, was ich da verändern muss.

Wie könnte ich das denn hinkriegen? Und wo kommen die leeren Arrays/Elemente her?

Vielen Dank im Vorraus schonmal!

edit: "[Erledigt]"
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.03.2006, 15:17  
Gast
 
Beiträge: n/a
Standard

Aaaaah! Bin grade selbst draufgekommen, der Modifier U (Ungreedy) hilft enorm.
 
Alt 19.03.2006, 15:19  
Erfahrener Benutzer
 
Registriert seit: 16.05.2004
Beiträge: 369
Simon9990
Standard

Hmmm naja kommt mir etas umständlich vor
Wenn du es so machst.
Dann dürfte es gehen:

Code:
preg_match_all("/\{(.*?)\}/", "{BLOCK001}{BLOCK002}{BLOCK003}", $res);
echo "<pre>". print_r($res, true) ."</pre>";
Habs jetzt nicht getestet aber du müsstest sowas zurück bekommen:

Code:
Array ( [0] => Array ( [0] => {BLOCK001} [1] => {BLOCK002} [2] => {BLOCK003} ) [1] => Array ( [0] => BLOCK001 [1] => BLOCK002 [2] => BLOCK003 ) )
Gruß SimonErich
__________________
Der G-Translator
Simon9990 ist offline  
Alt 19.03.2006, 15:45  
Gast
 
Beiträge: n/a
Standard

Richtig, meins war etwas überkompliziert, liegt auch daran, dass ich versucht habe, das Problem in einem (für meine Begriffe) Mega-Regex zu isolieren

Vielen Dank!
 
Alt 19.03.2006, 15:59  
Gast
 
Beiträge: n/a
Standard

Zitat:
Habs jetzt nicht getestet aber du müsstest sowas zurück bekommen:
Bohhhh, Array-Ausgabe ohne zu testen ...
'#\{.+\}#sU' würde auch reichen.
 
 


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] wiederholte quersumme stevezi PHP Tipps 2008 7 09.06.2008 03:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
preg_match_all, preg_match_all(), preg_match_all uis, preg_match_all (?=)

Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.