2015-08-28 136 views
1

我有一個長字符串作爲單行(它太長),我希望它打破並打印爲新行,只要我們遇到分號爲;}{{打破字符串並逐行打印

這是我的字符串:

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

我想如下打印:

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

即使;}聚在一起我想分解它並打印兩行。
例如jjjjjjjjjjjjj;}可能顯示爲

jjjjjjjjjjj; 
} 

請幫助我。

+0

在線條上每一個加入
aldrin27

+0

看看了'的preg_match()'函數。並閱讀一些關於「正則表達式」的內容。 SO上的用法有很多例子。 – arkascha

+0

我不能添加
標籤手動,這就是我要求做的動態。需要一個代碼因爲字符串太長。我不知道如何使用PHP函數和匹配這些字符,然後打破唐和打印 – Mperera

回答

1

您可以使用preg_replace(/([;\{\}])/, '$1<br/>', $sourceLine)進行HTML輸出。如果outputing到文件,更改'$1<br/>'"$1\r\n"

+0

OP不想刪除'; } {' –

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

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);