Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我有一个带有HTML文档的clob。如何用文本替换其中的所有脚本?_Html_Oracle - Fatal编程技术网

我有一个带有HTML文档的clob。如何用文本替换其中的所有脚本?

我有一个带有HTML文档的clob。如何用文本替换其中的所有脚本?,html,oracle,Html,Oracle,例如,我有以下HTML文档: <b>Hello world</b> <script>window.alert('Hello world')</script> 你好,世界 window.alert('Hello world') 我需要得到: <b>Hello world</b> &lt;script&gt;window.alert('Hello world')&lt;/script&gt;

例如,我有以下HTML文档:

<b>Hello world</b>
<script>window.alert('Hello world')</script>
你好,世界
window.alert('Hello world')
我需要得到:

<b>Hello world</b>
&lt;script&gt;window.alert('Hello world')&lt;/script&gt;
你好,世界
scriptwindow.alert('Hello world')/script
我想编写一个oraclepl/SQL函数来进行这种转换

我使用oracle11。我尝试使用regexp和Oracle XML函数,但没有成功。

也许您可以使用(内置)REPLACE函数。示例(与Oracle 11g一起测试,请参阅):

测试表

create table myclobs ( col clob ) ;

insert into myclobs ( col )
values ( '<b>Hello world</b><script>window.alert(''Hello world'')</script>');

select * from myclobs ;

-- result
COL
<b>Hello world</b><script>window.alert('Hello world')</script>
也许您可以使用(内置)替换功能。示例(与Oracle 11g一起测试,请参阅):

测试表

create table myclobs ( col clob ) ;

insert into myclobs ( col )
values ( '<b>Hello world</b><script>window.alert(''Hello world'')</script>');

select * from myclobs ;

-- result
COL
<b>Hello world</b><script>window.alert('Hello world')</script>

对于clob,请尝试DBMS_XMLGEN.CONVERT谢谢kfinity。问题是只需要转义标记的内容。现在我添加了“hello world”来显示它。此标记需要保持未标记状态对于clob,请尝试DBMS_XMLGEN.CONVERT谢谢kfinity。问题是只需要转义标记的内容。现在我添加了“hello world”来显示它。此标签需要保持未装订
-- rst: Replace the Script Tags
create or replace function rst( theclob clob )
return clob
is
begin  
  return  replace( 
    replace( theclob, '</script>','&lt;/script&gt;' ) 
  , '<script>','&lt;script&gt;' 
  ) ;
end ;
/
select rst( col ) from myclobs ;