PHP替换&与& 不是& amp;

Joh*_*lia 1 php

目前我有:

//replace common characters
$search = array('&', '£', '$'); 
$replace = array('&', '£', '$'); 
$html= str_replace($search, $replace, $html);
Run Code Online (Sandbox Code Playgroud)

此代码的问题是,如果&已经转换,它将尝试再次转换它.我怎样才能确保不会发生这种情况?

Tre*_*non 5

我会使用PHP具有的内置函数来转义HTML字符:

而不是滚动我自己,因为它更容易.htmlentities()htmlspecialchars()使用double_encode参数显式处理:

当关闭double_encode时,PHP不会编码现有的html实体.默认是转换所有内容.