我試圖重新排序BBCodes但我失敗了重排序/重新包裝bbcodes
所以
[B]̶[I]̶[U]美孚[̶/ B]̶[̶/ U] ̶[̶/ I]̶̶-̶錯誤的順序̶̶
我希望它是:̶̶
̶[B]̶[I]̶[U] FOO [̶/ U]̶[ ̶/̶i̶]̶[̶/̶b̶]̶̶̶̶r̶i̶g̶h̶t̶̶o̶r̶d̶e̶r̶
PIC:
我試圖與
<?php
$string = '[b][i][u]foo[/b][/u][/i]';
$search = array('/\[b](.+?)\[\/b]/is', '/\[i](.+?)\[\/i]/is', '/\[u](.+?)\[\/u]/is');
$replace = array('[b]$1[/b]', '[i]$1[/i]', '[u]$1[/u]');
echo preg_replace($search, $replace, $string);
?>
OUTPUT:並[b] [I] [U]富[/ B] [/ U] [/ I]
任何建議?謝謝!
還應該輸出什麼類似'[b] a [i] b [u] foo [/ b] baa [/ u]''?有沒有簡單的方法來實現正確的有序輸出 – Philipp 2013-03-11 13:42:45
@Philipp我希望他們像我的例子那樣排列 – 2013-03-11 13:49:39
@ Philipp提出了一個有效的觀點,因爲他的輸入結果不會是確定性的。你應該考慮它的規則,你的例子是不夠的。 – 2013-03-12 10:00:26