Função EMP_EscapeHTML

Essa função converte uma sequência de caracteres reservados HTML em código HTML.

Sinopse

É possível usar a função EMP_EscapeHTML em expressões e meta tags customizadas. Com essa função, é possível criar expressões ou meta tags customizadas contendo texto que pode ser interpretado como código HTML (como formatação), bem como texto que não deve ser interpretado como código HTML (valores de campo).
EMP_EscapeHTML($string)

Exemplos

Este exemplo mostra a saída de uma expressão que contém código HTML que deve ser interpretado pelo cliente de email e os valores de campo que não devem ser interpretados como código HTML. O exemplo gera uma tabela dos valores novos e antigos de todos os campos que foram modificados em um registro, exceto o campo de histórico. A função EMP_Verbatim é chamada na expressão para desativar a formatação HTML automática da saída. A função EMP_EscapeHTML é chamada somente para modificar os valores de campo que estão na tabela.
#@EXPRESSION::
EMP_Verbatim();
$table="";
$fieldsInfos = $entity->GetFieldsUpdatedThisEntireAction();
if ($fieldsInfos->Count() > 0) {
    $table .= "Os campos a seguir foram modificados : <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;
@# 

Neste exemplo, o segmento de código pode ser inserido na função EMP_SubstituteCustomMetaTag no script global EMP_Customisable para criar uma nova meta tag customizada chamada #@FIELDSCHANGEDHTMLTABLE@#.

    elsif ($customTag eq "fieldschangedhtmltable") {
        if ($isTest) {
            $errorTags = "";
        }
        else {
            EMP_Verbatim();
            $table="";
            $fieldsInfos = $entity->GetFieldsUpdatedThisEntireAction();
            if ($fieldsInfos->Count() > 0) {
                $table .= "Os campos a seguir foram modificados : <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;
        }
    }

Feedback