Oracle APEX 转义 -- and , 字符

Oracle APEX escape -- and , characters

我需要转义 -- 和 , 字符。 apex_escape.html_attribute 函数(APEX 版本 20.1)不会转义这 2 个字符。有没有办法扩展此功能以还包括 -- 和 , 字符。 关于我还能如何转义这些字符的任何想法。

您可以为此编写自己的转义函数:

CREATE OR REPLACE FUNCTION escape_hyphen( p_string IN VARCHAR2 )
    return VARCHAR2
AS BEGIN
  RETURN replace(p_string, '-', '-');
END escape_hyphen;
/

Function ESCAPE_HYPHEN compiled

SELECT APEX_ESCAPE.HTML_ATTRIBUTE (
    p_string => '<span>hello world--</span>' ) from dual;

&#x3C;span&#x3E;hello&#x20;world--&#x3C;&#x2F;span&#x3E;


SELECT escape_hyphen(APEX_ESCAPE.HTML_ATTRIBUTE (
    p_string => '<span>hello world--</span>') ) from dual;

&#x3C;span&#x3E;hello&#x20;world&#45;&#45;&#x3C;&#x2F;span&#x3E;

注意 1:您首先必须执行 APEX_ESCAPE.HTML_ATTRIBUTE,然后才转义附加字符,否则转义的连字符将被双重转义。

注意 2:这只是转义任何“-”,“--”和“------”也是如此。如果你特别想要“-”和“--”,你可以用正则表达式来修饰函数。