我需要检索值6Lf4,但它只是返回数组..我做错了什么?php:字符串之间的正则表达式不正确
<?php
$inputString = 'private="key" value="6Lf4" sent="yut"';
$matches = array();
preg_match_all('/key" value="(.*?)"/', $inputString, $matches);
echo $matches[1];
?>
我需要检索值6Lf4,但它只是返回数组..我做错了什么?php:字符串之间的正则表达式不正确
<?php
$inputString = 'private="key" value="6Lf4" sent="yut"';
$matches = array();
preg_match_all('/key" value="(.*?)"/', $inputString, $matches);
echo $matches[1];
?>
入住这里:http://php.net/manual/en/function.preg-match-all.php
你想做的事:
echo $matches[1][0];
这是因为您正确使用键1来获取带圆括号的子模式,但您希望获得此类型的第一个匹配项,因此您需要获取索引为0的那个子数组的值。
所以你在这里一半,但你需要得到你返回的数组内的实际值。
基于http://ideone.com/vDV7yE,你会想用$matches[1][0]
让你的字符串:
Array
(
[0] => Array
(
[0] => key" value="6Lf4"
)
[1] => Array
(
[0] => 6Lf4
)
)