我在变量中有一些形式。我有一些带名字的输入字段。如何从该字符串中获取所有name =“”?
现在我正在尝试这个:
preg_match_all ('/(name="(.*?"))\d/s', $ki, $matches1);
但效果不佳。它给了我一些,它给了我很多不必要的信息。
答案 0 :(得分:1)
试试这个正则表达式:
preg_match_all( '/name\s*=\s*(?|"(.*?)"|\'(.*?)\')/', $ki, $matches1 );
答案 1 :(得分:0)
您也可以使用数组执行此操作。
即。通过使用爆炸方法
$content='name="name1" other example text name="name2" other example text name="name3" ';
$finalResult=array();
function getBetweenAll($content,$start,$end)
{
$res = explode($start , $content , 2);
if(isset($res[1]) && $res[1]!='' )
{
$value = explode($end , $res[1] , 2);
global $finalResult;
$finalResult[]=$value[0];
if(isset($value[1]) && $value[1]!='')
{
$content=$value[1];
getBetweenAll($content,$start,$end);
}
}
}
$start='name="';
$end='"';
getBetweenAll($content,$start,$end);
echo "<pre>";
print_r($finalResult);
echo "</pre>";