2012-10-23 92 views
-1

我需要检索值6Lf4,但它只是返回数组..我做错了什么?php:字符串之间的正则表达式不正确

<?php 
    $inputString = 'private="key" value="6Lf4" sent="yut"'; 
    $matches = array(); 
    preg_match_all('/key" value="(.*?)"/', $inputString, $matches); 
    echo $matches[1]; 
    ?> 

回答

0

入住这里:http://php.net/manual/en/function.preg-match-all.php

你想做的事:

echo $matches[1][0]; 

这是因为您正确使用键1来获取带圆括号的子模式,但您希望获得此类型的第一个匹配项,因此您需要获取索引为0的那个子数组的值。

所以你在这里一半,但你需要得到你返回的数组内的实际值。

1

基于http://ideone.com/vDV7yE,你会想用$matches[1][0]让你的字符串:

Array 
(
    [0] => Array 
     (
      [0] => key" value="6Lf4" 
     ) 

    [1] => Array 
     (
      [0] => 6Lf4 
     ) 

) 
相关问题