首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Oracle PL/SQL中将<、>和&字符转义为html实体

如何在Oracle PL/SQL中将<、>和&字符转义为html实体
EN

Stack Overflow用户
提问于 2010-06-16 20:13:12
回答 2查看 46.8K关注 0票数 19

我需要直接从oracle PL/SQL包发送HTML电子邮件。这几乎可以正常工作。

我的问题是,从表中提取的一些数据包含<S><L>和类似的片段,这些片段有时被视为HTML标记,即使不是,它们也总是被忽略,永远不会显示。

因此,在插入电子邮件正文之前,我需要转义此列。

有没有一个函数可以自动将html的特殊字符转义为实体?或者我需要手动replace('<', '&lt;', string)所有的特殊字符?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-16 21:39:56

您可以使用htf.escape_sc函数:

代码语言:javascript
复制
SQL> select htf.escape_sc('Please escape <this> tag') from dual;

HTF.ESCAPE_SC('PLEASEESCAPE<THIS>TAG')
------------------------------------------------------------------
Please escape &lt;this&gt; tag
票数 38
EN

Stack Overflow用户

发布于 2016-06-07 01:36:08

还可以使用DBMS_XMLGEN.CONVERT,它可以处理clob。

示例:

代码语言:javascript
复制
select DBMS_XMLGEN.CONVERT('<foo>') from dual

详情:https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_xmlgen.htm

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3053090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档