Fonction EMP_EscapeHTML

Cette fonction convertit une chaîne de caractères réservés HTML en code HTML.

Syntaxe

La fonction EMP_EscapeHTML peut être utilisée dans des expressions et des balises meta personnalisées. Cette fonction permet de créer des expressions ou des balises meta personnalisées qui contiennent du texte pouvant être interprété comme du code HTML (par exemple, le formatage) et du texte qui ne devrait pas être interprété comme du code HTML (par exemple, les valeurs de zone).
EMP_EscapeHTML($string)

Exemples

L'exemple suivant présente la sortie d'une expression contenant du code HTML que le client de messagerie devrait interpréter et des valeurs de zone qui ne devraient pas être interprétées comme du code HTML. Cet exemple génère une table répertoriant les anciennes et les nouvelles valeurs de toutes les zones ayant été modifiées dans un enregistrement, à l'exception de la zone d'historique. La fonction EMP_Verbatim est appelée dans l'expression pour désactiver le formatage HTML automatique de la sortie. La fonction EMP_EscapeHTML est appelée uniquement pour modifier les valeurs de zone figurant dans la table.
#@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;
@# 

Dans l'exemple suivant, le segment de code peut être inséré au sein de la fonction EMP_SubstituteCustomMetaTag dans le script global EMP_Customisable pour créer une nouvelle balise meta personnalisée nommée #@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;
        }
    }

Commentaires