2012-12-11 30 views
-1

我正在與這個小php問題爭鬥,我試圖從頁面讀取url部分。preg_match_all問題

PHP代碼是這樣的:

preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse); 

我的問題是:preg_match_all()將返回0,如果我var_dump$ergebnisse,我得到空數組是這樣的:

array(3) { [0]=> array(0) { } [1]=> array(0) { } [2]=> array(0) { } } 

網頁代碼中我正在閱讀是這樣的:

<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a> 

我需要somelili nk.html和NAME,但很明顯,它無法匹配它們,請有人可以幫助我嗎?

順便說一句:我正在閱讀內容成功。 感謝

+0

什麼編碼是你的內容和代碼嗎? – deceze

回答

1

我已經測試你的代碼

<?php 
$content='<body> 
<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a> 
</body>'; 
echo preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse); 
echo "\n"; 
var_dump($ergebnisse); 

而且它完全適用:

$ php test.php 
1 
array(3) { 
    [0]=> 
    array(1) { 
    [0]=> 
    string(73) "<a href="Jobbörse-reader/items/somelink.html" title="some text">NAME</a>" 
    } 
    [1]=> 
    array(1) { 
    [0]=> 
    string(13) "somelink.html" 
    } 
    [2]=> 
    array(1) { 
    [0]=> 
    string(4) "NAME" 
    } 
} 
1

工作得很好:

<?php $content='<a href="Jobbörse-reader/items/somelink1.html" title="some text1">NAME1</a> 

    <a href="Jobbörse-reader/items/somelink2.html" title="some text2">NAME2</a> 

    <a href="Jobbörse-reader/items/somelink3.html" title="some text3">NAME3</a>'; 

    preg_match_all('!<a href="Jobbörse-reader\/items\/(.*?)" title=".+">(.*?)</a>!',$content,$ergebnisse); 

    print_r($ergebnisse); 
+0

真的嗎? :d。怪異 – doniyor

+0

複製粘貼並嘗試。奇怪,當然,因爲我只是複製粘貼你的。 :D – Lenin

+0

[你有什麼嘗試?](http://whathaveyoutried.com/) – Lenin