J'écris un analyseur pour un langage de programmation de script en PHP. La syntaxe de ce langage de script ressemble à ceci:PHP n'explose une chaîne que si la ligne ne se termine pas par '!'
ZOMFG
&This is a comment
(show "Hello, World\!");
Ceci est une page écrite dans cette langue, qui affiche Bonjour, monde! dans le navigateur. Mais je pourrais aussi avoir le code comme ceci:
ZOMFG
&This is a comment !
on multiple !
lines.
(show !
"Hello, !
World\!!
");
Pour l'instant j'utilise explode("\n", $content)
exploser le contenu de la page à un tableau qui a chaque ligne de code dans un index séparé. Alors
ZOMFG
&This is a comment
(show "Hello, World\!");
devient:
array('ZOMFG', '&This is a comment', '(show "Hello, World\!");');
Lorsqu'une ligne se termine par un! (sauf quand le! est échappé comme \!), il doit ajouter cette ligne, y compris la ligne suivante au tableau en tant qu'élément unique. Alors
&This is a comment !
on multiple !
lines.
devient
&This is a comment on multiple lines.
Est-ce que quelqu'un sait comment faire cela?
bonne idée, mais cela n'aurait pas pour effet de supprimer la combinaison! \ N des lignes jointes. –
Merci l'homme qui a travaillé. Un problème: le! reste au milieu de la ligne. Est-ce que quelqu'un sait comment résoudre ce problème? –
str_replace ('\!', "!", $ Ligne); –