我有一个javascript变量“foo”和一个名为“foo”的span标签id。出于某种原因,如果没有声明变量,jQuery似乎混淆了id的变量。所以如果我写了以下内容:
<?php
$str = '{jmstabs type="horizontal" theme="two" nav="left"}
[tab title="Tab title 1"]Tab content 1[/tab]
[tab title="Tab title 2"]Tab content 2[/tab]
[tab title="Tab title 3"]
{jmstabs}
[tab title="Tab child 1"]Tab child 1[/tab]
[tab title="Tab child 2"]Tab child 2[/tab]
{/jmstabs}
[/tab]
{/jmstabs}';
preg_match_all("#(?(DEFINE)
(?<item>\s*(?:(?&curly)|(?&square))|[^\[\{]*)
(?<attr>\s+\w+=\"[^\"]*\")
(?<curly>\{(\w+)(?&attr)*\}(?&item)*\{\/\w+\})
(?<square>\[(\w+)(?&attr)*\](?&item)*\[\/\w+\])
)\[tab(?&attr)*\](?&item)*\[\/tab\]#", $str, $matches);
var_dump( $matches[0] );
// PRODUCES:::
array (size=3)
0 => string '[tab title="Tab title 1"]Tab content 1[/tab]' (length=44)
1 => string '[tab title="Tab title 2"]Tab content 2[/tab]' (length=44)
2 => string '[tab title="Tab title 3"]
{jmstabs}
[tab title="Tab child 1"]Tab child 1[/tab]
[tab title="Tab child 2"]Tab child 2[/tab]
{/jmstabs}
[/tab]' (length=211)
#foo的html内容被选中。这是jQuery或bug的一个特性,还是遵循“干”规则的另一个原因?