好的,所以我有一条消息,可以使用正则表达式来确定其中是否有方括号,如果是,请确定它们是否未关闭。如何关闭所有未关闭的开放方括号标签?
例如,开放括号是这样的:[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