2012-10-23 99 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 
     ) 

) 
相關問題