在PHP中我有一些字符串標籤(僞代碼):更換嵌套支架對
[TAG_A] and [TAG_B] are connected with [TAG_[TAG_A]]
它應該:
[TAG_A] = X
[TAG_B] = Y
[TAG_X] = Z
所以當我在一個字符串替換這些標籤輸出:
X and Y are connected with Z
問題在於嵌套標籤。它需要遞歸,首先替換內部標籤。所有可能的標籤(及其值)都存儲在一個大型數組中。
我想要一個替換方法,不僅僅使用暴力替代標籤數組上使用foreach
所有標籤,但實際上只在字符串中搜索[]
對,然後查找標籤陣列。
我認爲正則表達式並不是正確的方式,但是做這種事情的最有效方法是什麼?
對我來說,正則表達式是正確的方式。你知道你可以給preg_replace模式和替換爲數組嗎?然後做一個循環,直到沒有被替換。 – palindrom