1
我正在尝试遍历包含法语字符的字符串。我有一系列特定的法国字符,我正在寻找我想要匹配的字符。使用法语字符和匹配的字符串进行迭代
例子:
header("Content-Type: text/html;charset=utf-8");
$string = "HÂPPY Ç" ;
echo $string;//displays correctly
echo "<br>";
$frenchArray = Array('Â','Ç');
for($i=0;$i<mb_strlen($string);$i++)
{
$t = utf8_encode(mb_substr($string,$i,1));
echo "Checking:" . $t . "<br>";
for($x=0;$x<count($frenchArray);$x++)
{
if($t==$frenchArray[$x])
{
echo "Matched: " . $t . " to " . $frenchArray[$x]."<br>";
}
}
}
这给了我不匹配:
Checking:H
Checking:Ã
Checking:
Checking:P
Checking:P
Checking:Y
Checking:
Checking:Ã
Checking:
我注意到字符不正确显示 “检查:”
好像有东西简单,我在这里失踪,任何帮助表示赞赏!
您可能会发现[PHP的mb_substr文档在这张票据(http://php.net/manual/en/function.mb-substr.php#117764 )有用。实质上,使用mb_substr以这种方式进行循环相当慢。我也想象你的问题与'utf8_encode'有关;即您的原始字符串已经是UTF-8。 –