取代 htmlspecialchars 函數 . 因為若是重複置換 & 每次都會被置換成 &
所以 原本 < 變成 < , 再經一次轉換就變成 &lt; 在第二次就變成 &amp;lt;
function html_for_xml ($str){
$str = str_replace('<','<',$str);
$str = str_replace('>','>',$str);
$str = str_replace('"','"',$str);
$str = str_replace('\'',''',$str);
return preg_replace('/&(?!lt;|gt;|quot;|#039;|amp;)/eis','&',$str);
}
將& 全部還原成 & 的 function
function html_for_xml2 ($str){
$str = str_replace('&','&',$str);
if (stristr($str,"&") != false) {
$str = html_for_xml2($str);
}
return $str;
}
2 則留言:
$str can not contain 「&」 for function html_for_xml???
& had to convent & .
張貼留言