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”]
@DamianToczek0
是完全匹配的<代码>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”]
@DamianToczek0
是完全匹配的<代码>1是第一个捕获组。每个索引都是一个捕获组,在完全匹配(始终为0
@DamianToczek)之后,我将使用preg\u match\u all
,然后对该示例的结果进行迭代。