14

我将如何使用 PHP从该字符串[startstring]中提取所有内容:[endstring]

[startstring]hello = guys[endstring] hello guys [startstring]jerk = you[endstring] welcome to the universe

我想找到 and 的所有匹配项[startstring][endstring]并在里面回显文本。有点像分隔符。我希望所有回显的匹配都用空格隔开。

我将如何实现这一目标?这需要regex吗?你能提供一个样品吗?

非常感谢!:)

4

2 回答 2

18
preg_match_all('/\[startstring\](.*?)\[endstring\]/s', $input, $matches);
echo implode(' ', $matches);

preg_match_all('/\[startstring\](.*?)\=(.*?)\[endstring\]/s', $input, $matches);
for ($i = 0; $i < count($matches[1]); $i++) {
    $key = $matches[1][$i];
    $value = $matches[2][$i];
    $$key = $value;
}
于 2013-01-13T21:08:07.247 回答
4

尝试preg_match_all

preg_match_all('/\[startstring\](.*?)\[endstring\]/', $input, $matches);
var_dump($matches);
于 2013-01-13T21:08:29.187 回答