Php 如何预匹配字符串并将所有结果输出到数组中?

Php 如何预匹配字符串并将所有结果输出到数组中?,php,preg-match,Php,Preg Match,我想将所有匹配结果输出到一个数组中。 我只能输出一个单词,不能同时输出两个 $input = "I like to eat <cookies> with <coke>."; $output = []; preg_match('~<(.*?)>~', $input, $output); echo $output[1]; 你真的很接近。改用preg\u match\u all() $input = "I like to eat <cookies>

我想将所有匹配结果输出到一个数组中。 我只能输出一个单词,不能同时输出两个

$input = "I like to eat <cookies> with <coke>.";
$output = [];

preg_match('~<(.*?)>~', $input, $output);
echo $output[1];

你真的很接近。改用
preg\u match\u all()

$input = "I like to eat <cookies> with <coke>.";
$output = [];

preg_match_all('~<(.*?)>~', $input, $output);
print_r($output[1]);
$input=“我喜欢和你一起吃饭。”;
$output=[];
preg_match_all(“~~”,$input,$output);
打印(输出[1]);

你真的很接近。改用
preg\u match\u all()

$input = "I like to eat <cookies> with <coke>.";
$output = [];

preg_match_all('~<(.*?)>~', $input, $output);
print_r($output[1]);
$input=“我喜欢和你一起吃饭。”;
$output=[];
preg_match_all(“~~”,$input,$output);
打印(输出[1]);

为什么它需要是
$output[1]
而不仅仅是
$output[]
?我刚意识到,当我键入
$output[0]
时,它会输出
。以下是
preg\u match\u all()
的文档,它与匹配有关。[0]索引通常是完全模式匹配。[1] 将是捕获匹配减去模式。假设我搜索
(.*)
。[0]将具有
粗体文本
,[1]将具有
粗体文本
是否可以在预匹配中使用预匹配?例如,
$input=“我喜欢和你一起吃饭。”
因此它将输出两个数组,其中
$food=[“cookies”,“apples”]$drivers=[“coke”,“water”]
@DamianToczek
0
是完全匹配的<代码>1是第一个捕获组。每个索引都是一个捕获组,在完全匹配(始终为
0
@DamianToczek)之后,我会使用
preg\u match\u all
,然后对该示例的结果进行迭代。为什么它需要是
$output[1]
,而不仅仅是
$output[]
?我刚意识到,当我键入
$output[0]
时,它会输出
。以下是
preg\u match\u all()
的文档,它与匹配有关。[0]索引通常是完全模式匹配。[1] 将是捕获匹配减去模式。假设我搜索
(.*)
。[0]将具有
粗体文本
,[1]将具有
粗体文本
是否可以在预匹配中使用预匹配?例如,
$input=“我喜欢和你一起吃饭。”
因此它将输出两个数组,其中
$food=[“cookies”,“apples”]$drivers=[“coke”,“water”]
@DamianToczek
0
是完全匹配的<代码>1是第一个捕获组。每个索引都是一个捕获组,在完全匹配(始终为
0
@DamianToczek)之后,我将使用
preg\u match\u all
,然后对该示例的结果进行迭代。