好的,所以我有一條消息,可以使用正則表達式來確定其中是否有方括號,如果是,請確定它們是否未關閉。如何關閉所有未關閉的開放方括號標籤?
例如,開放括號是這樣的:[code]
結算是這樣的:[/code]
但也有不僅僅是代碼BBC代碼,可以是方括號內的方式更。
我想要做的是使用一個包含整個消息的變量,並以某種方式確定方括號內是否有任何沒有結束標記的單詞,如下所示:[/
一句話,比]
開放標籤ofcourse與[
啓動字,而且比結束與]
所以,如果我有一個變量中是這樣的:
好了,所以這裏是整個腳本。 PHP文件中的所有最近的模塊代碼。因此,我們開始從功能參數檢索到$ params的主要功能...
[code]function module_recent($params)
{
global $context, $txt;
// Grab the params, if they exist.
if (is_array($params))
{
它會知道[code]
沒有關閉掉,並在末尾添加它[/code]
而且,如果我有這樣的事情:
[table]
[tr][td]Hello World[/td][/tr]
[tr][td]This is not closed...
應該知道,[table]
和[tr]
和[td]
沒有關閉,它應該在年底順序添加結束標記到它:
[/td]
比[/tr]
最後[/table]
但也有其他標籤,如[list][li][/li][/list]
將是巨大的,如果我可以在陣列內,比調用填充所有的標籤,可以是方括號內通過一個函數來檢查它是否包含開始和結束標記,這樣就不會影響人們放入消息的非bbc代碼標記。
任何人都可以幫我一個註冊。前與這樣做?至少如果有人能幫助我開始這將是優秀的。
謝謝你們:)
分析問題通常比使用正則表達式更好地使用解析器處理。 –
你如何解決這個問題?不熟悉解析器... – SoLoGHoST
好的,問題不是解析,問題是添加結束標籤到身體。解析很好。這已經通過另一個程序完成了,我只需要關閉包含所有文本的變量中的任何開始標記。想知道我能否得到這方面的幫助? – SoLoGHoST