php - 拆分逗号分隔的字符串,但只用逗号分隔

标签 php regex string split substring

嗨,我有一个长字符串

0BV,0BW,100,102,108,112,146,163191,192,193,1D94,19339,1A1,1AA,1AE,1AFD,1AG,1AKF.......

我想通过 sub sting 在页面中显示它

喜欢

0BV,0BW,100,102,108,112,146
163191,192,193,1D94,19339
1A1,1AA,1AE,1AFD,1AG,1AKF

我想做的是从字符串创建子字符串,长度为 100 个字符,但如果第 100 个字符不是逗号,我想检查字符串中的下一个逗号并以此分隔。

我尝试用chunk()按字数拆分,但是由于子串长度不同,在页面中显示不合适

$db_ocode   = $row["option_code"];

$exclude_options_array =    explode(",",$row["option_code"]);
$exclude_options_chunk_array = array_chunk($exclude_options_array,25);

$exclude_options_string = '';   
foreach($exclude_options_chunk_array as $exclude_options_chunk)
{
    $exclude_options_string .= implode(",",$exclude_options_chunk);
    $exclude_options_string .= "</br>";
}

请帮忙。提前致谢

最佳答案

取字符串,设置截止位置。如果该位置不包含逗号,则找到该位置之后的第一个逗号并在那里切断。简单

<?php

$string="0BV,0BW,100,102,108,112,146,163191,192,193,1D94,19339,1A1,1AA,1AE,1AFD";

$cutoff=30;
if($string[$cutoff]!=",")
  $cutoff=strpos($string,",",$cutoff);
echo substr($string,0,$cutoff);

Fiddle

关于php - 拆分逗号分隔的字符串,但只用逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27854413/

相关文章:

php - PDO 'n' 字母被删除,没有进入mysql数据库

php - Nelmio Api 文档包 : Documentating required Parameters

php - 保留上传文件的原始文件名时的注意事项

php - 3个表之间的Laravel模型关系

php - 如何在 PHP 中使用 curl 发送接受编码 header

arrays - 使用正则表达式 Perl 搜索数组

java - 正则表达式仅匹配字母和数字

c# - 删除所有不匹配的内容

java - 使用java String.split()方法分离数据

c++ - 如果 Qt 不是十六进制,则 Qt 从 QLineEdit 中删除字符