在PHP中编码HTML实体但忽略HTML标记

ed2*_*209 8 html php html-entities

我有一个字符串可能看起来像这样

$str = "<p>Me & Mrs Jones <br /> live in <strong style="color:#FFF;">España</strong></p>";
htmlentities($str,ENT_COMPAT,'UTF-8',false);
Run Code Online (Sandbox Code Playgroud)

如何在不转换HTML标记的情况下将文本转换为HTML实体?

注意:我需要保持HTML完好无损

Eve*_*ert 6

免责声明:除了<,>和&之外,我不会对任何实体进行编码.也就是说,如果你真的想要这个,那就这样做:

$str = '...';
$str = htmlentities($str,ENT_NOQUOTES,'UTF-8',false);
$str = str_replace(array('&lt;','&gt;'),array('<','>'), $str);
Run Code Online (Sandbox Code Playgroud)

  • 除非他的标记中有"2> 5",否则将失败 (2认同)

Sar*_*raz -1

如果您只想转换文本,请尝试以下操作:

\n\n
$orig = "<p>Me & Mrs Jones <br /> live in <strong style="color:#FFF;">Espa\xc3\xb1a</strong></p>";\n$str = strip_tags($orig);\n\n$str = htmlentities($str,ENT_COMPAT,\'UTF-8\',false);\n
Run Code Online (Sandbox Code Playgroud)\n