expression regex pour remplacer le texte dans les balises
-
10-10-2019 - |
Question
J'ai le code HTML en tant que variable de chaîne dans Coldfusion.
Par exemple:
<cfset str = "<span class='xyz'> sample text within span </span>" >
Maintenant, je veux repalce la durée de mot de texte « exemple de texte à l'intérieur de la durée », mais pas le nom de la balise.
aide quelqu'un peut-il me?
Merci à l'avance.
La solution 2
Je changé mon code sont revus à ce genre et il semble fonctionner, mais comment il est efficent je ne sais pas Quelqu'un peut-il s'il vous plaît vérifier?
<cfset htmlcontents = ReReplaceNoCase(htmlcontents, "(>[^<]*?)(#Lcase(text2replace)#)", "\1<span class=suchehighlight>\2</span>","ALL")>
Merci
Autres conseils
Je vais répondre bêtement à votre question:
<cfset str = "<span class='xyz'> sample text within span </span>" >
<cfdump var="#str#" />
<!--- Convert to list based on start and end tag brackets --->
<cfset arr = listToArray(str, ">,<") />
<!--- Replace the ACTUAL text --->
<cfset newStr = replace(str, arr[2], "my new text") />
<cfdump var="#newStr#" />
Avertissement: si je me suis surpris à écrire cela, je me croirais probablement sur la mauvaise voie.
Cette route mène à un essayant d'utiliser des expressions régulières pour analyser HTML, considéré comme une mauvaise chose comme mentionné dans cet article .
Peut-être que vous pouvez expliquer votre problème un peu plus et nous pouvons vous aider.