EMP_EscapeHTML 函數

此函數可將 HTML 保留字元的字串轉換為 HTML 程式碼。

用法概要

您可以在表示式及自訂 meta 標籤中使用 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 廣域 Script 中的 EMP_SubstituteCustomMetaTag 函數,以建立一個稱為 #@FIELDSCHANGEDHTMLTABLE@# 的新自訂 meta 標籤。

    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