回答
嘗試是這樣的(對於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