EMP_EscapeHTML 函数

此函数将一串 HTML 保留字符转换为 HTML 代码。

摘要

您可以在表达式和定制元标记中使用 EMP_EscapeHTML 函数。通过此函数,您可以创建一些表达式或定制元标记: 其中包含可解释为 HTML 代码的文本(如格式设置),以及不应解释为 HTML 代码的文本(字段值)。
EMP_EscapeHTML($string)

示例

此示例显示了某个表达式的输出,此表达式包含应由电子邮件客户机解释的 HTML 代码和不应被解释为 HTML 代码的字段值。此示例生成已在记录中修改的所有字段(“历史记录”字段除外)的新值和旧值的表。 在表达式中调用 EMP_Verbatim 函数以禁用自动将输出格式化为 HTML。仅调用 EMP_EscapeHTML 函数来修改表中的字段值。
#@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;
@# 

在此示例中,可以将代码段插入到 EMP_Customisable 全局脚本中的 EMP_SubstituteCustomMetaTag 函数中,以创建一个名为 #@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;
        }
    }

Feedback