2013-10-01 103 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]; 

,但我强烈建议你使用一个库在上述线程中表示。