gpt4 book ai didi

php - 确定变量中的空格实际上是什么

转载 作者:行者123 更新时间:2023-11-29 02:20:39 26 4
gpt4 key购买 nike

我正在使用 PHP 将数据从 Excel 工作表上传到 mySQL 数据库,但我还没有找到一种完美的方法来从我上传的内容中删除不相关的信息。

我在 StackOverflow 上阅读了几篇关于 PHP 中的空格检测和删除的帖子,并通读了关于 PHP's Trim function 的官方指南。关于除了文字 space 字符之外的各种可能导致空白的事情,例如 tabnew linecarriage returnNUL 字节垂直制表符

其中大部分可以使用 trim() 函数删除,但我发现一些其他字符出现在我上传的一些单元格中,所以我编写了这个函数,我通过每个上传的变量通过:

function smartTrim($value) {

if ($value == null) {
return null;
}

$value = trim($value);
$value = trim($value,chr(0xC2).chr(0xA0));

return $value;

}

虽然到目前为止这已经奏效,我有一个正在上传的值,仍然有一些我没有找到的空白,我也没有知道如何确定它是什么。

在 Excel 中,它看起来像这样:

 Q12345  /* [space]Q12345 */

上传后,使用 PHP 的 echo 输出:

 Q12345 /* [space]Q12345 */

在 mySQL 中,它看起来像这样:

 Q12345 /*Â[space]Q12345 */

在 PHP 中有没有什么方法可以遍历字符串中的每个字符并输出它是什么 UTF 字符,这样我就可以弄清楚如何去除这个奇怪的 符号以及任何后续Excel 可能会在我的单元格中放入奇怪的东西?

最佳答案

我不知道如何检查所有空格以查看它是否是某个字符,但您可以从不同的角度尝试:

function clean($string) {

return preg_replace('/[^A-Za-z0-9]/', '', $string);
}

这只是删除了上面正则表达式中没有的任何内容:

A-Z a single character in the range between A and Z (case sensitive)
a-z a single character in the range between a and z (case sensitive)
0-9 a single character in the range between 0 and 9

这可能会也可能不会满足您的需求,但如果您想要的唯一值是 A-Z 和数字,那么这会起作用。

关于php - 确定变量中的空格实际上是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32405622/

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