[我想我可以在项目中实现相同的结构,而我只是以为WP是如何使用短代码的,所以我认为这是可以使用的,但尚未进行追踪。
我从preg_match_all开始解析自己preg_match_all('/[[^]]*]/', $content, $match);
然后返回包含内容中所有短代码的数组,但按预期的方式进行解析,然后查看解析具有名称的变量,名称或数组键,我开始在解析时变得很繁重。
我目前的想法是分解空格,然后解析每个空格,但是即使它们用引号引起来,我也会遇到值中的空格。因此,如果我先解析引用的数据,然后再重新构建空格,这似乎非常浪费。我不需要在这里重新发明轮子,所以任何输入都是很棒的。
示例
[[shortcodename key1 =“这是一个值” key2 =“ 34”]
想拥有
Array
(
[shortcodename] => Array
(
[key1] => this is a value
[key2] => 34
)
)
您可以尝试更改所有未用引号引起来的空格,以分号表示然后用分号爆炸
$regex = '~"[^"]*"(*SKIP)(*F)|\s+~';
$subject = 'hola hola "pepsi cola" yay';
$replaced = preg_replace($regex,";",$subject);
$exploded = explode(';', $replaced);