回答
尝试是这样的(对于PHP < 5.3):
$dst = array();
$str = '1,2,3,4,5,"6,000",7,8,9';
$state = false;
$buffer = '';
for ($i = 0, $lim = strlen($str); $i < $lim; $i += 1) {
$char = $str[$i];
switch ($char) {
case ',':
if (!$state) {
$dst[] = $buffer;
$buffer = '';
}
break;
case '"':
$state = !$state;
break;
default:
$buffer .= $char;
}
}
$dst[] = $buffer;
print_r($dst);
这件作品像魔术一样,谢谢耀西。也感谢Satya和KingCrunch。 – naboen 2012-04-19 07:23:17
$items = str_getcsv($str);
$items = array_map (
function ($item) { str_replace(',', '', $item); },
$items;
);
现在,如果你就像你可以再次合并它们一样
$str = implode(',', $items);
似乎str_getcsv()函数仅在PHP 5.3.0或更高版本上运行,即时通讯依然采用5.2.6需要升级我的PHP安装第一 – naboen 2012-04-19 07:14:28
是的,你需要。 5.3将近3岁,现在5.4几个星期才出来。 – KingCrunch 2012-04-19 07:20:21
使用此:
$str = '1,2,3,4,5,"6,000",7,8,9';
$pattern='/"(\d+),(\d+)"/';
$replacement='${1}$2';
echo preg_replace($pattern, $replacement, $str);
感谢:-)
- 1. 删除逗号分隔符
- 2. 逗号分隔字符串列表
- 3. 逗号分隔符号字符串
- 4. 包含逗号与逗号分隔符的分割字符串
- 5. 转换列表为双引号逗号分隔字符串
- 6. 如何在Python中分隔逗号分隔的字符串,除了引号内的逗号之外
- 7. 转换被逗号分隔值,以逗号分隔字符串
- 8. 在Java中,删除字符串的第一个字符(逗号)(逗号)
- 9. 从逗号分隔的文件中删除额外的逗号
- 10. 添加引号一个逗号分隔字符串
- 11. 从csv中的'用逗号'字符串中删除双引号
- 12. 逗号分隔csv中的双引号内的逗号,
- 13. PHP MYSQL - 搜索逗号,逗号分隔列表分隔列表
- 14. 搜索逗号IDS分隔字符串以逗号分隔字符串
- 15. 比较逗号分隔的字符串,其中柱是也逗号分隔
- 16. 删除字符串中的逗号并将每个逗号分隔值插入字符串
- 17. 删除rdlc中字符串的逗号
- 18. 阵列以逗号分隔字符串
- 19. 逗号分隔的列表
- 20. 拆分逗号分隔的字符串
- 21. 分离逗号分隔的字符串
- 22. 逗号分隔字符串表
- 23. 逗号分隔值单倒引号和逗号分隔值
- 24. 将逗号分隔列表中的值从其他逗号分隔的列表中删除
- 25. 逗号逗号分隔值在Oracle中
- 26. 删除最后一个逗号或分隔符从列表C#
- 27. 字符串分割排除逗号在双引号和分割相邻逗号
- 28. 删除单引号,逗号
- 29. 拆分逗号分隔的字符串,但忽略逗号整个字
- 30. 拆分逗号分隔的电子邮件地址的一个字符串引号逗号
str_replace函数(查找,替换字符串,count) – Satya 2012-04-19 06:54:15
@Satya你可以显示一个例子,删除逗号内的逗号,但不__外 – KingCrunch 2012-04-19 06:55:04