php では、htmlspecialchars は特殊文字を HTML 形式に変換し、htmlentities はすべての文字を HTML 文字列に変換します。以下にそれぞれについて簡単に説明します。
htmlエンティティの使用法
ジョンと「アダムス」
ジョンと「アダムス」
ジョンと「アダムス」
コードは次のとおりです | コードをコピー |
|
html特殊文字の使用法
& (および) は &
に変換されます
" (二重引用符) は "
" に変換されます
< (より小さい) は <
に変換されます
> (より大きい) は >
例
コードは次のとおりです | コードをコピー |
|
彼らの違い
これら 2 つの関数の機能は、文字、特に URL とコード文字列を HTML 文字エンコーディングに変換することです。文字タグがブラウザによって実行されないようにします。中国語を使用する場合には違いはありませんが、htmlentities は中国語の文字をフォーマットするため、中国語入力が文字化けします
htmlentities はすべての HTML タグを変換し、htmlspecialchars は特殊記号 & ' " < および > のみをフォーマットします
コードは次のとおりです | コードをコピー |
$str = 'テストページ'; echo 'htmlentities は GB2312 エンコーディングを指定します: '.htmlentities($str,ENT_COMPAT,"GB2312")。''; echo 'htmlentities のエンコーディングが指定されていません: '.htmlentities($str).''; $str = 'テストページ'; echo htmlspecialchars($str).''; |
効果:
コードは次のとおりです | コードをコピー |
htmlエンティティはGB2312エンコーディングを指定します: テストページ htmlエンティティが指定されていないエンコーディング: ²âÊÔÒ³Ãæ テストページ |