PHP中的Substr方法在错误的位置返回一个字符串

时间:2015-07-01 14:01:18

标签: php substr

$ result是在此代码上面定义的字符串,包含网站的html,它是一个非常长的字符串。

<?php
    $url = "http://www.amazon.com/s/ref=sr_pg_1?me=A34JWT04R7KMFW&rh=i%3Amerchant-items%2Cn%3A%21493964&ie=UTF8&qid=1435757351";
    $ch=curl_init($url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    $result = curl_exec($ch);
    curl_close($ch);

    $needle = 'id="result_0"';
    $position = strpos($result, $needle);
    $pos2 = ($position + 12);
    echo substr($result,$pos2,8);
?>

代码返回$ position处的字符串,而不是$ pos2。当我回复$ pos2时,我得到了正确的数字。

1 个答案:

答案 0 :(得分:1)

先检查$ position

var_dump($position);
die();

如果不是您需要的,请更改$ needle string