例如我從這裏的數據響應: http://www.facebook.com/ajax/shares/view/?target_fbid=410558838979218&__a=1Preg_match_all和文本匹配複雜的正則表達式
有看起來像這樣的模式:
data-hovercard=\"\/ajax\/hovercard\/hovercard.php?id=655581307\">
我怎樣才能與解析它preg_match_all()在PHP中? 我知道我需要複雜的正則表達式,但我沒有線索如何在文本中爲這樣的模式寫一個。 感謝您的幫助
UPD: 下面的代碼確實給ID:
$str = 'hovercard.php?id=655581307';
preg_match_all('/[0-9]{9}/', $str , $matches);
print_r($matches);
但
這一個犯規
$url = 'http://www.facebook.com/ajax/shares/view/?target_fbid=410558838979218&__a=1';
$html = file_get_contents($url);
preg_match_all('/[0-9]{9}/', $html, $matches);
print_r($matches);
那麼這裏唯一的變量是id值的權利?這並不複雜,只需[0-9] {9}就可以實現。沒有? – Maresh 2012-07-11 15:58:38
yeap,我需要得到id。 下面的代碼確實給了我ID如果我在我的源代碼中使用像這樣的字符串變量: $ str ='hovercard.php?id = 655581307';如果我使用 $ html = file_get_contents($ url); 我沒有得到它,看到我的更新問題 – Leg0 2012-07-11 16:10:08
嗯,你導致第二個不是相同的,有14個數字,如果你想它匹配可能是id = [0-9] +&?或[0-9] {9,14}有幾種寫法。 – Maresh 2012-07-11 16:19:03