将重音转换为HTML,但忽略标记

use*_*est 12 html php encoding

下面的代码转换带重音的字符的文本.但它也转换了我想保留的HTML标签.我怎样才能只转换重音字符并保留所有其他特殊字符?谢谢.

$temp = file_get_contents("file.html");
echo htmlentities($temp,ENT_NOQUOTES,'UTF-8');
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 22

htmlspecialchars()并且htmlspecialchars_decode()将只进行编码/解码&,<,>,'"; 因此,您可以使用后者将其实体转换回HTML特殊字符:

echo htmlspecialchars_decode(htmlentities($temp, ENT_NOQUOTES, 'UTF-8'), ENT_NOQUOTES);
Run Code Online (Sandbox Code Playgroud)