【PHP】文字を HTML 数値エンティティにエンコードする

電脳備忘録

ACFに入力された文字を HTML 数値エンティティにエンコードして表示する必要があったのでいろいろ調べて対応したときの備忘録。ついでに改行なしで一列で出力するようにしています。

<?php
$string = nl2br(get_field('entry_title'),false);
$convmap = array(
0x3C, 0x3C, 0, 0xFFFF, // <
0x3E, 0x3E, 0, 0xFFFF  // >
);
$result = mb_encode_numericentity($string, $convmap, "UTF-8");
echo $text = str_replace(PHP_EOL, '', $result);
?>

<br>を出力するにあたり、&lt;br&lt;ではなく&#60;br&#62;と出力したかったのでこれで、とりあえずはこれでOK。

広告

ブログの維持費に充てるでございます・・・。