我试图在爆炸后使用内爆,然后打破一条线。例如,蓝白黄,我希望它们在不同的行中。所以我先使用跟随代码爆炸它,然后内爆“,”然后“”但是我没有任何问题在爆炸时打破一条线,但它有内爆的问题,我花了很多时间搜索答案,我似乎没有错,我错过了什么?
<?php
$color="blue white yellow";
$explode_color=explode(" ", $color);
$implode=array();
foreach($explode_color as $explode_colors){
$implode[]=$explode_colors;
}
$implode_color=implode(',', $implode);
echo $implode_color."</br>";
?>
它在同一条线上像蓝色,白色,黄色一样回响,但我想在不同的行中打破它们。
你说你想要被<br>
破坏,但随后你被','
摧毁了。以下代码段将执行您想要的操作。
$color="blue white yellow";
echo implode("<br>", explode(" ", $color));
//⇒ blue<br>white<br>yellow
你的代码是
$color="blue white yellow";
$explode_color=explode(" ", "$color);
请从$ color变量的前面删除“。
$color="blue white yellow";
$explode_color=explode(" ", $color);
implode函数返回一个字符串值,因此如果要查看多行中的颜色,则必须将其与<br/>
而不是逗号(,)分开。谢谢。
如果你想要每行一种颜色,为什么不从阵列打印呢?
// Define colors
$colors = 'blue white yellow';
// Explode to array
$colorsArray = explode(' ', $colors);
// Print colors
foreach($colorsArray as $color){
echo $color.'<br/>';
}
但如果你真的想用,
再次破坏他们:
// Define colors
$colors = 'blue white yellow';
// Explode to array
$colorsArray = explode(' ', $colors);
// Print colors
foreach($colorsArray as $color){
echo $color.'<br/>';
}
// Implode again - this time with comma
$colorsNew = implode(',', $colorsArray);
// Explode again and print
$colorsExploded = explode(' ', $colors);
foreach($colorsExploded as $color){
echo $color.'<br/>';
}
这将获得所需的结果,但使用preg_replace()
函数。
$color="blue white yellow";
$colors = preg_replace('/ /', '<br/>',$color);
echo $colors;
结果是
blue<br/>white<br/>yellow
将您的字符串分解为数组,然后使用<br>
作为粘合剂将其内爆,这是不必要的复杂/间接。
相反,只需将数据保存为字符串并修改分隔符即可。
你有静态分隔字符(空格),所以preg_replace
是矫枉过正,只需使用str_replace()
。
代码:(Demo)
$color="blue white yellow";
echo str_replace(' ','<br>',$color); // replace spaces with <br> tags
echo "\n\n---\n\n";
echo str_replace(' ',"\n",$color); // this is what the rendered html will look like
输出:
// this is what the source code will look like
blue<br>white<br>yellow
---
// this is what the rendered html will look like
blue
white
yellow