2013-10-01 102 views
-2

從HTML標籤之間的這段文字匹配我需要匹配如何使用的preg_match

<TD WIDTH=30%><B>Joining Date</B></TD></TR>STRINGTOBEMATCHED</TABLE> 

用的preg_match ...使用preg_quote嘗試,但仍,有一些錯誤的字符串的preg_match認爲B是的oprator某種..

+0

該html無效,使用正則表達式來解析該問題,祝你好運 –

+0

爲什麼你現在仍在使用'21世紀的'標籤'和'屬性''。 –

+0

我不是,我要從另一個網頁提取這些數據。 –

回答

2

我建議你閱讀關於HTML解析的this thread。現在有大量可用的XML/HTML解析器。

由於HTML代碼寫得很差(屬性值沒有引號,文本發生在table內部,但在tr之外),所以很難解析HTML代碼。

不過,要回答你的問題,你可以使用此代碼,因爲你需要的字符串匹配是</tr></table>標籤之間:

$var = "<TD WIDTH=30%><B>Joining Date</B></TD></TR>STRINGTOBEMATCHED</TABLE>"; 
$regex = "%</TR>(.*?)</TABLE>%i"; 
$matches = null; 
preg_match($regex, $var, $matches); 

$result = $matches[1]; 

,但我強烈建議你使用一個庫在上述線程中表示。