场景
编辑器使用的带格式内容都是xml格式,若需显示的内容包含如下字符时,需要进行封装或转义处理&
、<
、>
、'
、"
有风险的使用
var str = "<Fragment>(快&检) <1\"0.00 mg/L11111&2'222<222<23>3333>33\"33>3'</Fragment>";
ThinkEditor.InputData(str)
异常效果
异常原因
"<Fragment>(快&检) <1\"0.00 mg/L11111&2'222<222<23>3333>33\"33>3'</Fragment>"
包含特殊的XML字符,导致整个字符串不是有效的xml字符串。
正确使用1-ToPlainTextByCDATA()
-使用
<![CDATA[]]>
标签包裹纯文本内容
[推荐]使用方法ToPlainTextByCDATA()
转换为如下字符串:<![CDATA[(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3']]>
代码示例
var str = "(快&检) <1\"0.00 mg/L11111&2'222<222<23>3333>33\"33>3'";
//`<![CDATA[(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3']]>`
var plainText = ThinkEditor.ToPlainTextByCDATA(str);
//`<Fragment><![CDATA[(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3']]></Fragment>`
var fragmentStr="<Fragment>" +plainText+"</Fragment>";
ThinkEditor.InputData(fragmentStr);
正确使用2-ToPlainTextByEscape()
- 对
&
、<
、>
、'
、"
进行转义
使用方法ToPlainTextByEscape()
转换为如下字符串:(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3'
代码示例
var str = "(快&检) <1\"0.00 mg/L11111&2'222<222<23>3333>33\"33>3'";
//'(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3''
var plainText = ThinkEditor.ToPlainTextByEscape(str);
//'<Fragment>(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3'</Fragment>'
var fragmentStr="<Fragment>" +plainText+"</Fragment>";
ThinkEditor.InputData(fragmentStr);
正确的显示效果
两种转换方式比较
- CDATA方式比Escape方式,更直观、速度更快
- CDATA方式要求纯文本中不能有
]]>
连续字符- [推荐使用]Escape方式适用所有场景
更复杂场景
实现目标
输入多个换行内容
显示效果
输入参数
输入参数fragmentStr内容如下<Fragment>(快&检) <1"0.00 mg/L11111&2'222<222<23>3333>33"33>3'<LF/><Element>(放入元素中&) <1"0.00 mg/L有特殊字符<23>3333>33"33>3'</Element></Fragment>
示例代码
var str1 = "(快&检) <1\"0.00 mg/L11111&2'222<222<23>3333>33\"33>3'";
var plainText1 = ThinkEditor.ToPlainTextByEscape(str1);
plainText1 += "<LF/>"
var str2 = "(放入元素中&) <1\"0.00 mg/L有特殊字符<23>3333>33\"33>3'";
var plainText2 = ThinkEditor.ToPlainTextByEscape(str2);
plainText2 = "<Element>" + plainText2 + "</Element>";
var fragmentStr="<Fragment>" +plainText1+plainText2+ "</Fragment>";
ThinkEditor.InputData(fragmentStr);
文档更新时间: 2024-11-20 21:41 作者:admin