断开一个字符串并逐行打印

时间:2015-08-28 08:16:29

标签: php

我有一个长字符串作为一行(它太长了)我想让它在我们遇到半冒号;}或{{1时打破并打印为新行例如

这是我的字符串:

{

我想打印如下:

aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}

即使aaaaaaaaaaa; bbbbbbbbbb{ ccccccccc; dddddddd; } eeeeeeee{ fffffffffff; } ;在一起聚会,我也想把它分解并打印成两行。
例如,}可能会显示为

jjjjjjjjjjjjj;}

请帮帮我。

3 个答案:

答案 0 :(得分:3)

您只需使用preg_replace作为

即可
$str = 'aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}';
$res = preg_replace('/(;|{|})/',"$1\n",$str);
print_r($res);

输出

aaaaaaaaaaa;
bbbbbbbbbb{
ccccccccc;
dddddddd;
}
eeeeeeee{
fffffffffff;
}

Regex

Demo

答案 1 :(得分:1)

您可以将preg_replace(/([;\{\}])/, '$1<br/>', $sourceLine)用于HTML输出。如果输出到文件,请将'$1<br/>'更改为"$1\r\n"

答案 2 :(得分:0)

您也可以使用以下代码:

$str = 'aaaaaaaaaaa;bbbbbbbbbb{ccccccccc;dddddddd;}eeeeeee{fffffff;}';
$arr_replace_char = array(';','{','}');
$arr_replace_by = array(';<br>','{<br>','}<br>');
echo str_replace($arr_replace_char,$arr_replace_by,$str);
相关问题