【发布时间】:2020-10-10 05:08:30
【问题描述】:
<?php
// This is my string
$input = "Lorum ipsum [tag=foo]dolor[/tag] sit [tag=bar]amet[/tag] consectetur adipiscing elit.";
// This is my pattern
$pattern = "~\[tag=(.*?)\](.*?)\[/tag\]~s";
// This should output all tags with it's value
$output = preg_split($pattern, $input);
print_r($output);
?>
它输出:
Array ( [0] => Lorum ipsum [1] => sit [2] => consectetur adipiscing elit. )
但我想要:
Array (
[foo] => dolor,
[bar] => amet
)
我在这里做错了什么?
【问题讨论】:
-
或许您需要改用
preg_match_all($pattern, $input, $output);。 -
看起来像bbcode。如果是这样,那么已经存在各种解析器。您可能已经知道这一点,但我想提一下以防万一。
标签: php arrays preg-split