用新行拆分php中的字符串
我对字符串拆分有问题用新行拆分php中的字符串,php,Php,我对字符串拆分有问题 <?php $blackShopArray = preg_split("~[|!,\s\n\b]+~", $cfg['options']['bslist']); $blackShopColumn = ''; foreach($blackShopArray as $shop){ $blackShopColumn .= $shop . "<br/>"; } echo $blackShopColumn; ?
<?php
$blackShopArray = preg_split("~[|!,\s\n\b]+~", $cfg['options']['bslist']);
$blackShopColumn = '';
foreach($blackShopArray as $shop){
$blackShopColumn .= $shop . "<br/>";
}
echo $blackShopColumn;
?>
此代码不能用换行符拆分字符串。如何修复它?\n
(换行符)和\r
(返回)控制字符与HTML中的
和
ASCII控制字符,即CR
(回车)和LF
(换行符)
但是,当我们想在Regex
(正则表达式)中检查它们时,它们就不同了。在这种情况下,与preg_split中的匹配
因此,我们可以用空字符串替换
和
,并使用stru split
代替。我很确定这可以用不同的方法来做
我的做法如下:
<?php
$cfg = "Some text will go in new line";
$cfg = str_replace(" ", "", $cfg);
$cfg = str_replace(" ", "", $cfg);
$blackShopArray = str_split($cfg);
$blackShopColumn = '';
foreach ($blackShopArray as $shop)
{
$blackShopColumn .= $shop . "<br/>";
}
echo $blackShopColumn;
?>
一些参考资料:
- ASCII表
- 帮你检查你的正则表达式
$cfg['options']['bslist']
<代码>\s匹配换行符\n
和\r
。在
上的内爆将是相同的。或者preg\u用
@pragmus替换,你解决了吗?@AbraCadaver,我刚刚查看了我的代码页,它显示字符串被
删除了;符号而不是换行符。@maytham-ɐɥıλɐɯ,否