好的,这是输入消息:
你有一个耳朵
你有一个冰块
你有一只狗
你有一个苹果
你有一块石头
我想要得到这样的输出:
耳
冰块
狗
苹果
岩
我怎么能做到这一点?
这是我目前的代码:
<?php
$str = $_POST["txtarea"];
preg_match_all('/You have (a|an) (.*)/', $str, $matches);
array_shift($matches);
foreach($matches[0] as $child)
{
echo $child;
}
?>
Run Code Online (Sandbox Code Playgroud)
整个(a | an)部分不起作用.
你的比赛是在$matches[2]元素中.
0- 是整个匹配的字符串
1- 第一组(a|an在您的情况下)
2- 所需的组
要排除组,请使用?:提示,例如(?:a|an)
PS:对于"a或an"匹配,它实际上可以使用an?不需要括号