我想通過垂直條爆炸一個字符串。這是很容易的部分。但是,我不希望拆分影響由圓括號包圍的子字符串。這意味着我需要一個字符串,如:爆炸字符串,除了被圓括號包圍的地方?
Hello (sir|maam).|Hi there!
爆炸到:
Array
(
[0] => Hello (sir|maam).
[1] => Hi there!
)
通過使用正常爆炸的功能,我不相信有一種方法來告訴它忽略吧被括號包圍。不過,我有一些想法。
我知道可以通過正常爆炸字符串,然後遍歷數組並將包含(
的字符串之間的所有內容合併到包含)
的最後一個字符串來完成此操作。不過,我有一種感覺,應該有一種更優雅的方式來實現這一點。
我對不對?考慮到這些限制,是否有更少的代碼密集型方法將字符串拆分爲數組?
http://php.net/manual/en/function.preg-match.php – PeeHaa 2012-08-12 00:52:59
爲什麼只是將分隔符更改爲獨特的字符?像#或者甚至是字符組合#@ – Oras 2012-08-12 01:26:15
@Petra這是簡單的部分,正則表達式是很難的部分;) – tigrang 2012-08-12 01:41:16