RegExpression для замены текста в тегах - PullRequest
0 голосов
/ 14 декабря 2010

У меня есть HTML-код в качестве строковой переменной в Coldfusion.

Например:

<cfset str = "<span class='xyz'> sample text within span </span>" >

Теперь я хочу отменить слово span от текста «образец текста в диапазоне», но неимя тега.

Может кто-нибудь мне помочь?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010

Я изменил свой код следующим образом, и он, кажется, работает, но насколько он эффективен, я не знаю Может кто-нибудь проверить это?

<cfset htmlcontents = ReReplaceNoCase(htmlcontents, "(>[^<]*?)(#Lcase(text2replace)#)", "\1<span class=suchehighlight>\2</span>","ALL")>

Спасибо

0 голосов
/ 15 декабря 2010

Я собираюсь тупо ответить на ваш вопрос:

<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, что считается плохой вещью, как упоминалось в этой статье

Возможно, вы сможете немного подробнее объяснить свою проблему, и мы поможем.

...