これを 2 行の php ファイルにまとめました。
$s = "<option value=\"%id%\">%desc%</option>"; die($s);
これは出力されます:
%desc%
<> を変更する& l t ; & g t ;
と機能しますが、出力しようとしている文字列は HTML として解釈されます。
PHP 文字列ドキュメントには、<> がエスケープが必要な特殊文字であることを示すものは何もありません。面白いことに、このフォーラムで問題を引用しようとすると、同じ問題が発生します。どうしたんだ?