14

PHP を使用して、この文字列の間[startstring]および文字列からすべてを抽出するにはどうすればよいですか。[endstring]

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

[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 に答える