2014-12-02 77 views
-1

Websiste包含像下面的一些代碼..預浸匹配多行不工作

</span></td> 
    <td width="1%" align="right" nowrap="nowrap" class="small inner" >190 MB</td> 
    <td width="1%" align="center" nowrap="nowrap" class="small inner" >15</td> 

我需要得到190MB

我試過下面code..tried/S,/ M沒有什麼作品。 。

preg_match_all('/<\/td> 
    <td width="1%" align="right" nowrap="nowrap" class="small inner" >(.*?)<\/td>/m',$lol,$cooler); 
+0

您是否嘗試過g [http://regex101.com/r/wR0yN5/1](regex101) – ehwas 2014-12-02 20:17:36

+0

全局修飾符隱含在reg_match_all函數中。 – 2014-12-02 20:20:09

回答

1
$lol = '</span></td> 
<td width="1%" align="right" nowrap="nowrap" class="small inner" >190 MB</td> 
<td width="1%" align="center" nowrap="nowrap" class="small inner" >15</td>';  

preg_match_all('/(?<=\<\/span\>\<\/td\>)[\n]?.*((?<=\>).+(?=\<))/', $lol, $cooler); 

echo $cooler[1][0]; //Outputs "190 MB" 

http://regex101.com/r/jY1pY9/1

+0

我想只有190MB。我需要配合新lline – 2014-12-02 20:26:29

+0

還好,見上面 – 2014-12-02 20:37:14

2

Ew,用正則表達式解析HTML。從來不是一個好主意。

由於看起來沒有任何方便的標識符,解析器可以幫助您進入,爲什麼不只是preg_match("/\d+\s*[KMG]B/,$ lol,$ match); echo $ match [0];`?儘可能保持簡單。

+0

編輯有MB GB KB – 2014-12-02 20:28:18

+0

然後相應地更新正則表達式,如我在回答剛纔做。 – 2014-12-02 20:31:57