【问题标题】:Remove empty spaces删除空格
【发布时间】:2022-01-15 18:39:18
【问题描述】:

我遇到了 CSV 损坏的问题,图片链接中有空格。

CSV 文件是由我的客户业务合作伙伴自动创建的,大小约为 22000 行。 CSV 中大约 30 个链接已损坏,我无法修复。因为它每 3 小时更新一次。

所以,我正在尝试提出一个自动解决方案,但似乎没有任何效果。

这是我得到的错误:

问题在于图片链接,例如:https://images.tyroo.de/GISLAVED_ULTRA_SPEED2�.jpg

.jpg 前有空格,有的文件有 3 个空格,有的有 7 个空格。如果我在 CSV 文件中手动修复它们,它可以工作,但我需要找到一种 php 自动方法来做到这一点。

这就是我从 CSV 文件中获取此变量的方式:$image_link = $csv[$i][52];

我已经尝试过这些方法来删除 .jpg 之前的空格,但它们都没有删除空格。

$item_image_link = preg_replace('/\s+/', '', $image_link);
$item_image_link = preg_replace('/\s\s+/', ' ', $image_link);
$item_image_link = str_replace(" ", "", $image_link);
$item_image_link = preg_replace("/\s+/", "", $image_link);

【问题讨论】:

标签: php csv


【解决方案1】:

如前所述,您的问题是由于编码造成的。要么请求以 utf8 格式提供 csv,要么尝试自己隐藏它。

你可以试试

$image_link = utf8_encode($csv[$i][52]);

如果你知道原始编码,或者使用 mb_string

$image_link = mb_convert_encoding($csv[$i][52], "SomeEncodingType", "UTF-8");

我不确定,但现在可能为时已晚。相反,您可以尝试解码原始 csv 字符串,然后再将其传递给您使用的任何 php 函数以将其分解为 $csv 数组。

【讨论】:

    猜你喜欢
    • 2012-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多