Función EMP_EscapeHTML

Esta función convierte una cadena de caracteres HTML reservados en código HTML.

Sinopsis

Puede utilizar la función EMP_EscapeHTML en expresiones y meta códigos personalizados. Con esta función, puede crear expresiones o meta códigos personalizados que contengan texto que se puede interpretar como código HTML (por ejemplo, formato) y texto que no se debe interpretar como código HTML (valores de campo).
EMP_EscapeHTML($string)

Ejemplos

Este ejemplo muestra la salida de una expresión que contiene código HTML que debe ser interpretado por el cliente de correo electrónico y valores de campo que no debe interpretarse como código HTML. El ejemplo genera una tabla de los valores nuevos y antiguos de todos los campos que se han modificado en un registro, excepto el campo de historial. Se llama a la función EMP_Verbatim en la expresión para inhabilitar el formato HTML automático de la salida. Solo se llama a la función EMP_EscapeHTML para modificar los valores de campo que se encuentran en la tabla.
#@EXPRESSION::
EMP_Verbatim();
$table="";
$fieldsInfos = $entity->GetFieldsUpdatedThisEntireAction();
if ($fieldsInfos->Count() > 0) {
    $table .= "The following fields were modified : <BR>";
    $table .= "<TABLE>";
    $table .= "<TR><TH> Field </TH><TH> New Value </TH><TH> Old Value </TH></TR>";
    for (my $i=0; $i < $fieldsInfos->Count(); $i++) {
        $fieldInfo = $fieldsInfos->Item($i);
        $fieldName = $fieldInfo->GetName();
        next if (lc($fieldName) eq "history");

        $fieldValue = $entity->GetFieldValue($fieldName)->GetValue();
        $oldFieldValue = $entity->GetFieldOriginalValue($fieldName)->GetValue();

        $table .=
"<TR><TD>".EMP_EscapeHTML($fieldName).":</TD><TD>".EMP_EscapeHTML($fieldValue)."</TD><TD>".EMP_EscapeHTML($oldFieldValue)."</TD></TR>";
    }
    $table .= "</TABLE>";
}
$table;
@# 

Si es ejemplo, el segmento de código puede insertarse en la función EMP_SubstituteCustomMetaTag en el script global EMP_Customisable para crear un nuevo meta código personalizado llamado #@FIELDSCHANGEDHTMLTABLE@#.

    elsif ($customTag eq "fieldschangedhtmltable") {
        if ($isTest) {
            $errorTags = "";
        }
        else {
            EMP_Verbatim();
            $table="";
            $fieldsInfos = $entity->GetFieldsUpdatedThisEntireAction();
            if ($fieldsInfos->Count() > 0) {
                $table .= "The following fields were modified : <BR>";
                $table .= "<TABLE>";
                $table .= "<TR><TH> Field </TH><TH> New Value </TH><TH> Old Value </TH></TR>";
                for (my $i=0; $i < $fieldsInfos->Count(); $i++) {
                    $fieldInfo = $fieldsInfos->Item($i);
                    $fieldName = $fieldInfo->GetName();
                    next if (lc($fieldName) eq "history");

                    $fieldValue = $entity->GetFieldValue($fieldName)->GetValue();
                    $oldFieldValue = $entity->GetFieldOriginalValue($fieldName)->GetValue();
                    $table .= "<TR><TD>".EMP_EscapeHTML($fieldName).":</TD><TD>".EMP_EscapeHTML($fieldValue)."</TD><TD>".EMP_EscapeHTML($oldFieldValue)."</TD></TR>";
                }
				
                $table .= "</TABLE>";
            }
			
        $fieldValue = $table;
        }
    }

Comentarios