str_replace with htmlspecialchars返回空结果

时间:2017-06-20 14:15:56

标签: php

我想替换所有特殊字符(在数组中),我使用htmlspecialchars,但它不起作用我发现空结果!!

这是我的指示:

str_replace( array('è','é','ê','ë'), 
             array('e','e','e','e'), 
             htmlspecialchars(strtolower("Elément")) );

感谢帮助...

2 个答案:

答案 0 :(得分:1)

简短回答:您必须使用mb_strtolower代替strtolower

运行下面的代码段,你会发现原因:

<?php

$a = str_replace( array('è','é','ê','ë'), array('e','e','e','e'), htmlspecialchars(strtolower("Elément")) );

echo "\n0.".$a;
echo "\n1.".htmlspecialchars(strtolower("Elément"));
echo "\n2.".strtolower("Elément");
echo "\n3.".mb_strtolower("Elément");
echo "\n4.".htmlspecialchars(mb_strtolower("Elément"));

$a = str_replace( array('è','é','ê','ë'), array('e','e','e','e'), htmlspecialchars(mb_strtolower("Elément")) );


echo "\n5.".$a;

另见enter link description here

答案 1 :(得分:0)