首页 > 解决方案 > 我们如何替换字符串中除第一个之外的所有匹配的特殊字符?

问题描述

这是我的数据变量。

$data = "• Rohit • Mohit • Khusi";

我正在寻找如下输出

-Rohit<br/>
-Mohit<br/>
-Khusi.

我尝试的是

str_replace("•", "<br/>-", $data);

但我不想在第一个字符串的顶部有断线

标签: php

解决方案


我会先将名称作为数组检索,然后按需要显示:

$data = '• Rohit • Mohit • Khusi';

$names = preg_split('/\s*•\s*/', $data, -1, PREG_SPLIT_NO_EMPTY);

foreach ($names as $i => $name) {
  echo '- ', $name, $i === count($names) - 1 ? '.' : '<br/>';
}

或者,您可以在检索名称后执行此操作:

echo '-', implode('<br/>-', $names), '.';

演示:https ://3v4l.org/GBa89

感谢@Nick 在下面的评论中提供的所有不错的建议。


推荐阅读