gpt4 book ai didi

php - 检查字符串是否以欧元/英镑符号开头

转载 作者:行者123 更新时间:2023-12-02 04:55:02 25 4
gpt4 key购买 nike

我正在尝试检查 PHP 中的字符串是否以“€”或“£”开头。

下面是代码

    $text = "€123";

if($text[0] == "€"){
echo "true";
}
else{
echo "false";
}

//output false

如果只检查单个字符,效果很好

    $symbol = "€";

if($symbol == "€"){
echo "true";
}
else{
echo "false";
}
// output true

我还尝试在浏览器上打印该字符串。

$text = "€123";
echo $text; //display euro symbol correctly
echo $text[0] //get a question mark

我尝试过使用substr(),但出现了同样的问题。

最佳答案

诸如“€”或“£”之类的字符是多字节字符。有一篇很棒的文章,您可以read here 。根据PHP docs , PHP 字符串是字节数组。因此,使用数组括号访问或修改字符串不是多字节安全的,只能使用单字节编码(例如 ISO-8859-1)的字符串来完成。

还要确保您的文件使用 UTF-8 编码:您可以使用 NotePad++ 等文本编辑器对其进行转换。

如果我将 PHP 简化为这样,它就可以工作,关键是使用 mb_substr:

<?php
header ('Content-type: text/html; charset=utf-8');
$text = "€123";
echo mb_substr($text,0,1,'UTF-8');
?>

最后,最好在 head 标签中添加 UTF-8 元标签:

<meta charset="utf-8"> 

关于php - 检查字符串是否以欧元/英镑符号开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com