20

oracle PL/SQLパッケージから直接HTMLメールを送信する必要があります。これはほとんど問題なく動作します。

テーブルからフェッチされたデータの一部に、、、および同様のフラグメントが含まれているという事実に問題があり<S>ます<L>。これらはHTMLタグとして扱われることがあり、そうでない場合でも、常に無視され、表示されません。

したがって、電子メールの本文に挿入する前に、この列をエスケープする必要があります。

htmlの特殊文字をエンティティに自動的にエスケープする機能はありますか?またはreplace('<', '&lt;', string)、すべての特殊文字を手動で作成する必要がありますか?

4

2 に答える 2

40

htf.escape_sc関数を使用できます。

SQL> select htf.escape_sc('Please escape <this> tag') from dual;

HTF.ESCAPE_SC('PLEASEESCAPE<THIS>TAG')
------------------------------------------------------------------
Please escape &lt;this&gt; tag
于 2010-06-16T13:39:55.633 に答える
10

CLOBを処理できるDBMS_XMLGEN.CONVERTも使用できます。

例:

select DBMS_XMLGEN.CONVERT('<foo>') from dual

詳細:https ://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_xmlgen.htm

于 2016-06-06T17:36:07.630 に答える