Regexpression для замены текста в тегах
-
10-10-2019 - |
Вопрос
У меня есть HTML-код как строковая переменная в ColdFusion.
Например:
<cfset str = "<span class='xyz'> sample text within span </span>" >
Теперь я хочу решить слово SPAR из текста «Пример текста в течение промежутка», но не название тега.
Кто-нибудь может мне помочь?
Заранее спасибо.
Решение 2
Я выменил мой код, как это, похоже, работает, но насколько это эффектно, я не знаю, может кто-то, пожалуйста, проверьте это?
<cfset htmlcontents = ReReplaceNoCase(htmlcontents, "(>[^<]*?)(#Lcase(text2replace)#)", "\1<span class=suchehighlight>\2</span>","ALL")>
Спасибо
Другие советы
Я собираюсь ясно ответить на ваш вопрос:
<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#" />
Отказ от ответственности: если я поймал себя, написав это, я бы, вероятно, подумаю о том, что я не тот подумал.
Эта дорога приводит к тому, чтобы одна попытаться использовать регулярные выражения для анализа HTML, считается плохой вещью, как упомянуто в это статья.
Возможно, вы можете объяснить свою проблему немного больше, и мы можем помочь.