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;
@# 

次の例では、#@FIELDSCHANGEDHTMLTABLE@# という新しいカスタム メタ タグを作成するコード セグメントを、EMP_Customisable グローバル スクリプト内の EMP_SubstituteCustomMetaTag 関数に挿入できます。

    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;
        }
    }

フィードバック