html - girona - qgis manual
Cómo escapar de los caracteres<,> y & a las entidades html en Oracle PL/SQL (3)
Puedes usar la función htf.escape_sc:
SQL> select htf.escape_sc(''Please escape <this> tag'') from dual;
HTF.ESCAPE_SC(''PLEASEESCAPE<THIS>TAG'')
------------------------------------------------------------------
Please escape <this> tag
Necesito enviar correos electrónicos HTML directamente desde el paquete oracle PL / SQL. Esto funciona casi bien.
Tengo problemas con el hecho de que algunos de los datos extraídos de una tabla contienen elementos como <S>
, <L>
y fragmentos similares, que a veces se tratan como etiquetas HTML, e incluso si no, siempre se ignoran y nunca se muestran .
Por lo tanto, necesito escapar de esta columna antes de insertarla en el cuerpo del correo electrónico.
¿Existe una función para escapar los caracteres especiales html en entidades automáticamente? ¿O necesito replace(''<'', ''<'', string)
manualmente todos los caracteres especiales?
También está disponible DBMS_XMLGEN.CONVERT que puede manejar un clob.
Ejemplo:
select DBMS_XMLGEN.CONVERT(''<foo>'') from dual
Detalles: https://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_xmlgen.htm
HTF.BDY :
/* SPECIAL FUNCTIONS */
function escape_sc(ctext in varchar2 character set any_cs)
return varchar2 character set ctext%charset is
begin return(replace(
replace(
replace(
replace(ctext, ''&'', ''&'' || ''amp;''),
''"'', ''&'' || ''quot;''),
''<'', ''&'' || ''lt;''),
''>'', ''&'' || ''gt;''));
end;
Puedes crear esta función tú mismo
Pero mejor use esta variante de la función dbms_xmlgen.convert
SQL> select dbms_xmlgen.convert(''<test>&''''"</test>'') from dual
2 /
DBMS_XMLGEN.CONVERT(''<TEST>&''''"</TEST>'')
--------------------------------------------------------------------------------
<test>&'"</test>