Je sais que cette question a été posée à plusieurs reprises, mais je ne trouve pas de solution de travail pour mon cas. Je souhaite diviser une chaîne dans PHP (5.3) en utilisant des points-virgules comme délimiteurs, sauf s'ils sont compris entre $BODY$
. L'objectif est de diviser les instructions SQL où les instructions peuvent être des procédures (postgresql dans ce cas).Chaîne fractionnée sauf si elle est entourée d'autres chaînes
Exemple:
select; start $BODY$ begin; end; $BODY$ lang; update
devrait se traduire par:
select start $BODY$ begin; end; $BODY$ lang update
Je suis en train de jouer avec preg_split
pendant un certain temps et ne peut pas trouver une solution de travail.
Un grand merci
Edit: il doit fonctionne avec des entrées multilignes (mais je peux supprimer les sauts de ligne à l'aide str_replace
avant la main)
Donnez une * plus simple * exemple, plus entrée textuelle et le résultat de la production attendue. Sinon, les gens recommanderont d'écrire un analyseur. – mario
fait, merci pour votre commentaire – maximebf