26.16 JS_LITERAL_CLOBファンクション

このファンクションは、JavaScript文字列をエスケープし、オプションで、引用符で囲みます。このファンクションは、影響を受ける文字を\xHHまたは\uHHHHと同等のものに置換します。結果は、<script>タグ内またはインライン(javascript:nnn)のJavaScriptコードに挿入できます。影響を受けない文字を次に示します。

  • aからz
  • AからZ
  • 0から9
  • カンマ ,
  • ピリオド.
  • アンダースコア_

出力を引用符で囲まない場合、パラメータp_quoteはNULLになります。

p_quoteに値を指定すると、& < > " ' ` / \ %を除く、出力可能なASCII 7文字がエスケープされなくなります。

構文

APEX_ESCAPE.JS_LITERAL_CLOB (
    p_string    IN CLOB )
    RETURN CLOB;

パラメータ

パラメータ 説明
p_string エスケープされるテキスト文字列。
p_quote NULL以外の場合、この文字列は結果の左および右に配置されます。引用符文字は、一重引用符または二重引用符である必要があります。

次の例では、JS_LITERALを使用してl_string変数内の特殊文字をエスケープする方法を示します。

DECLARE
    l_string clob := 'O''Brien';
BEGIN
    sys.htp.p(
        to_clob('<script>')||
        'alert(' || apex_escape.js_literal_clob(l_string) || ');' ||
        '</script>' );
END;