我尝试使用谷歌搜索并没有任何帮助。我对PHP缺乏经验。我希望问题很明确。
所以我想要的是在字符串
中的特定字符后面加一个空格喜欢来自:
1234b1
为:
1234b 1
我需要一个代码才能为我做这件事
注意:无需用勺子喂我。
答案 0 :(得分:6)
一种相当优雅的方法是使用regex:
$input = '1234b1';
$pattern = '/b/';
$replacement = '$0 ';
$output = preg_replace($pattern,$replacement,$input);
使用PHP的交互式shell运行它:
$ php -a
Interactive mode enabled
php > $input = '1234b1';
php > $pattern = '/b/';
php > $replacement = '$0 ';
php > $output = preg_replace($pattern,$replacement,$input);
php > echo $output;
1234b 1
编辑:如果您想跳过某一行,请使用$replacement
更新"\$0\n"
,或者如果您想要HTML新行:$0<br>
:< / p>
$input = 'abbbbasasjscxxxxc';
$pattern = '/c/';
$replacement = "\$0\n"; //'$0<br>' for HTML
$output = preg_replace($pattern,$replacement,$input);
echo $output;
答案 1 :(得分:2)
我认为你可以在这里找到一个简单的字符串替换。
$string = '1234b1';
echo str_replace('b', "b<br>\n", $string);
输出:
1234b
1
演示: https://eval.in/493496 https://eval.in/493503
如果角色不是b
,但你需要一个正则表达式。
一种正则表达式方法,它将用字符和换行替换任何字母字符。
$string = '1234b1';
echo preg_replace('/([a-z])/', '$1' . "<br>\n", $string);
如果只交换b
,请将[a-z]
替换为b
。 []
是一个字符类,意味着允许内部字符a-z
是一系列字符。
<br>
是因为它似乎是在浏览器中输出它;如果不是那些可以删除。任何非浏览器都会逐字显示<br>
。