13.4 HTML_TRUNCファンクション

HTML_TRUNCファンクションは、HTMLをエスケープし、戻される文字列をp_lengthバイトに制限します。このファンクションは、入力CLOBの最初のp_lengthバイトを戻し、それらの文字をエスケープします。このファンクションは、入力CLOBが大きすぎてvarchar2変数に適合できず、入力CLOBの一部の表示のみで十分な場合に使用できます。

構文

APEX_ESCAPE.HTML_TRUNC (
    p_string IN CLOB,
    p_length IN NUMBER DEFAULT 4000 )
    return VARCHAR2;

パラメータ

表13-4 HTML_TRUNCファンクションのパラメータ

パラメータ 説明

p_string

エスケープされるテキスト文字列。

p_length

エスケープされるp_stringのバイト数。

この例では、タイトルおよびテキスト本文のHTMLリストを生成します。HTMLのエンティティ属性はHTML_ATTRIBUTEを使用して、通常のテキストはHTMLおよびHTML_TRUNCを使用してエスケープされます。

begin 
    htp.p('<ul>'); 
    for l_data in ( select title, cls, body 
        from my_topics ) 
    loop 
    sys.htp.p('<li><span class="'||
        apex_escape.html_attribute(l_data.cls)||'">'|| 
        apex_escape.html(l_data.title)||'</span>'); 
    sys.htp.p(apex_escape.html_trunc(l_data.body)); 
    sys.htp.p('</li>'); 
    end loop; 
    htp.p('</ul>'); 
end;