? 發問時間: 電腦與網際網路程式設計 · 9 年前

PHP語法擷取網頁上面的字串

我想要用PHP的語法擷取網頁上面的字串 請問該怎麼打呢?

EX:

$ecbank_auth_url = 'https://ecbank.com.tw/gateway.php?payment_type=cvs...

'&mer_id='.$mer_id.

'&enc_key='.$enc_key.

'&amt='.$amt.

'&prd_desc='.$prd_desc.

'&desc1='.$desc1.

'&desc2='.$desc2.

'&desc3='.$desc3.

'&desc4='.$desc4.

'&ok_url='.$ok_url;

$strAuth = file_get_contents($ecbank_auth_url);

最上面的語法 最後會變一串很長的網址(這網址裡面就會是一串字 不會有其他的東西存在 ) 存入$ecbank_auth_url

之後再從$strAuth 截取裡面的字串出來 行的通嗎?

如果可以 該如何打呢?

已更新項目:

回復CY 對 我是要在擷取網頁內容的特定字串

error=0&mer_id=1176&tsr=160751&od_sob=1176_1009151425310539&amt=300&payno=GW100915160751&expire_date=20100922&expire_time=142531

像以上這串文字 我想要取 payno= 後面的那串

跟 tsr=後面的那串

如果要只要取這些 請問要怎麼打呢?

1 個解答

評分
  • CY
    Lv 5
    9 年前
    最佳解答

    不太了解

    $strAuth 已存有所要擷取之網頁的全部內容

    是要進一步截取網頁內容裡面的特定字串嗎

    試過 regular expression 嗎

    2010-09-16 12:44:36 補充:

    ,如果 $strAuth裡的值就像

    error=0&mer_id=1176&tsr=160751&od_sob=1176_1009151425310539&amt=300&payno=GW100915160751&expire_date=20100922&expire_time=142531

    那麼可以試試 explode -- 將字串分兩階段拆開

    $strAuth = "error=0&mer_id=1176&tsr=160751&od_sob=1176_1009151425310539&amt=300&payno=GW100915160751&expire_date=20100922&expire_time=142531"; //測試用

    $array1 = explode("&", $strAuth); // 先依 & 拆成小段

    $array2 = array();

    foreach ($array1 as $pair) {

    $tempArray = explode("=", $pair); // 每小段再依 = 拆開

    $array2[$tempArray[0]] = $tempArray[1]; //存入 $array2, = 左邊為 key 右邊為 value

    }

    print_r($array2); // 檢視 $array2 內容

    echo "<br>";

    echo $array2['payno']."<br>"; // 依所需取用

    echo $array2['tsr']."<br>";

還有問題?馬上發問,尋求解答。