php - 每隔一个逗号后 explode 换行

标签 php regex explode

当我回显 $model 变量时,我试图在每个其他逗号之后插入换行符,该变量包含从 mysql 数据库中提取的每个产品的许多不同模型的列表。我尝试使用 explode 来完成此操作,但失败了,因为它只显示了 2 的第一行(model1、model2)。列表中的其他型号缺失。到目前为止我所拥有的是:

   <?php 
$commasCount = count(explode(',', $model));
if ($commasCount > 2) {
    $model = preg_replace('~,[^,]*,~', "\$0\n", $model);

}
echo $model;
 ?>

我的问题是 - 如何连续两两显示模型的完整列表,而不仅仅是前两条记录?谢谢。

最佳答案

关于

I am trying to insert break line after every other comma

您可以将 preg_replace 与以下正则表达式一起使用:

$model = preg_replace('~,[^,]*,~', "\$0\n", $model);

或者 - 如果您在 Web 浏览器中呈现输出:

$model = preg_replace('~,[^,]*,~', "\$0<br/>", $model);

这是regex demo .

基本上,匹配逗号,0+除逗号之外的符号(使用[^,]*),然后再匹配一个逗号,然后用其自身替换匹配的文本($0 code>) 添加换行符。

关于php - 每隔一个逗号后 explode 换行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042753/

相关文章:

php - Facebook Open Graph- 动态标题

Python正则表达式匹配词尾

javascript - 使用正则表达式在字符串中查找日期

PHP explode 函数只允许我在搜索 in_array 时检测数组的第一项。为什么?

javascript - explode 函数在文本区域中返回单行

php - 除数字和货币分母外,从字符串中去除所有内容

javascript - Wordpress 中的 Backbone.js 错误

php - 使用 Symfony 的服务容器将接口(interface)绑定(bind)到具体类

php - MySQL : Get user details using nested relational table

regex - 使用正则表达式仅查找文件名开头的数字