Nous avons développé une application flash avec un éditeur WYSIWYG en backend. Nous devons présenter plus de fonctionnalités dans l'éditeur de sorte que nous avons décidé de mettre des balises personnalisées < commencer plus> ... </fin plus> dans notre WYSIWYG.PCRE Expression régulière: Chaîne ne contenant pas
Tous HTML est analysé et converti en XML, mais seul problème est que nous devons obtenir le début plus/fin plus de balises pour les convertir à disparaître sur mesure des effets pour afficher plus de contenu sur un poste à l'intérieur de flash.
En bref, voici un exemple de sortie XML.
Some text outside <start more> some text inside</end more>
some other text <start more>1 and some random stuff <start more>2 and
thing </end more>2 and random stuff </end more>
Expression régulière pour obtenir commencer de plus en plus fin
/(<start more>){1,1}(.+?)(<end more>)/
cette capture d'expression d'abord < commencer plus> et la première < fin plus> dans la chaîne. J'ai essayé de faire l'assertion de lookahead négative pour obtenir seulement la plupart des étiquettes. mais ne fonctionne pas.
espérons que cela a du sens. Faites-moi savoir si je ne pouvais pas expliquer le problème.
Voici un exemple - il ne capture que la paire la plus interne: http://rubular.com/r/4p8jGiepW5 – Kobi
Merci pour la réponse et l'exemple. J'ai enlevé le "plus" du code, et ' (((?! <(?: \/Fin | début)>).) +) <\/end>' fonctionne parfaitement. la raison de ne pas utiliser d'autre analyseur HTML (j'ai essayé php domdocument) que si nous essayons d'obtenir du contenu, il supprime également toutes les balises html imbriquées, que nous devions afficher en flash (par exemple gras, italique, etc.) pour tous ceux qui sont intéressés peuvent consulter http://pk.dynamiconlinesystems.com/mc_main/ pour en savoir plus sur ses travaux en cours. –
Au lieu d'obtenir le contenu du HTML analysé, vous devez écrire les parties dont vous avez besoin avec un sérialiseur HTML. – OrangeDog