2010-04-22 10 views
-2

Existe-t-il une fonction ou une expression régulière ou autre pour grouper des éléments par un tag { et }? il devrait donc regrouper les éléments par l'étiquette d'ouverture {et l'étiquette de fermeture}. mais attention, il y a aussi des groupes à l'intérieur des groupes de parents comme ceci:php accolades groupes

group { 
    text1 
    group2 { 
     text2 
    } 
} 

donc penser fondamentalement comme php, vous faites une balise d'ouverture, vous devez fermer avec une balise de fermeture, les accolades dans le cas de php . Je ai juste besoin d'aimer substr() chaque groupe dans un tableau associatif en quelque sorte, sauf que je ne peux pas le comprendre avec l'ensemble, "groupe à l'intérieur d'un groupe parent". J'essaie de faire ma propre surligneur de syntaxe à des fins d'apprentissage, et je pensais que le regroupement serait le meilleur. Oui, je sais qu'il y a une fonction php pour mettre en surbrillance, mais ... c'est à des fins éducatives.

+0

déjà non négligeable. Quel est le cas d'utilisation? – deceze

+4

Avez-vous oublié que vous avez déjà posé cette question et avez même reçu une réponse? http://stackoverflow.com/questions/2650414/php-curly-braces-into-array – goat

+0

Copie possible de [php accolades dans array] (http://stackoverflow.com/questions/2650414/php-curly- accolades-dans-tableau) – Xymanek

Répondre

0

Vous pouvez parcourir chaque occurrence et créer une pile d'étendues, en plaçant une nouvelle portée sur la pile avec { et en déplaçant une portée avec chaque }.

0

Est-ce que c'est pour analyser du code ou quelque chose? Vous devrez peut-être écrire une fonction récursive similaire à la façon dont (entre parenthèses) en mathématiques serait utilisé

(7 * ((A + B) * C))

+0

pourriez-vous développer sur cela ou est-il un lien que vous pouvez me diriger vers, pour lire je ne sais pas trop comment lire les maths ci-dessus. – David