如何使用PHP从此字符串中提取[startstring]
和[endstring]
之间的所有内容:
[startstring]hello = guys[endstring] hello guys [startstring]jerk = you[endstring] welcome to the universe
我想查找[startstring]
和[endstring]
的所有匹配项,并回显里面的文字。有点像分界符。而且我希望所有的比赛都被空间分开。
我将如何完成此任务?这需要regex
吗?你能提供样品吗?
非常感谢! :)
答案 0 :(得分:10)
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;
}
答案 1 :(得分:4)
preg_match_all('/\[startstring\](.*?)\[endstring\]/', $input, $matches);
var_dump($matches);