2016-03-17 114 views
-1

我想用正则表达式代替<和>符号由& lt;和& gt;在HTML文本中,并作为有效的XML。将< and >符号替换为HTML字符串中的<和>符号

示例串:

<HTML><BODY><p style="margin:0px">His <span style="color: rgb(237, 23, 23);">career </span>spanned the development of cinema, from <span style="font-weight: 700;">silent film</span>, through early experiments in <span style="text-transform: uppercase;">Technicolor </span>to filmmaking in the 21st century.​</p><p>His career spanned the development of cinema, from silent film, through early experiments in Technicolor to filmmaking in the 21st century.<This sample></p>​</BODY></HTML> 

结果:

<HTML><BODY><p style="margin:0px">His <span style="color: rgb(237, 23, 23);">career </span>spanned the development of cinema, from <span style="font-weight: 700;">silent film</span>, through early experiments in <span style="text-transform: uppercase;">Technicolor </span>to filmmaking in the 21st century.​</p><p>His career spanned the development of cinema, from silent film, through early experiments in Technicolor to filmmaking in the 21st century.&lt;This sample&gt;</p>​</BODY></HTML> 

感谢

Iyyappan小号

+0

您使用哪种语言?如果你使用PHP,你可以使用'htmlentities'来编码所有特殊字符。 – Barmar

+0

我在flex中使用动作脚本3.0。 –

+0

https://stackoverflow.com/q/2342453/570812 – Passerby

回答

0

应该这样做:

private function replaceTags(string:String):String 
{ 
    string = string.replace(/</gi, "&lt;"); 
    string = string.replace(/>/gi, "&gt;"); 

    return string; 
} 

trace("Replaced string: " + replaceTags("String <with>")); 

另一种选择是将您的文本以XML格式打包成CDATA

+0

这也将取代html标签。我只想替换不包含在Flex支持的HTML标记中的< and >符号。 –

+0

噢,这是一个挑战:)如果你把整个HTML部分包装到CDATA中,并把它传递给XML时不会有什么帮助 - 不需要修改任何东西? – Philarmon

+0

我想将整个HTML部分转换成XML。 –

相关问题