2010-06-29 75 views
0

请注意:我是相当新的使用PHP命令和正则表达式。 我有一个通过php命令检索到的html文档,现在我想从两个字符串之间的html中提取数据。提取字符串或标签之间的数据

例如:

**<h4 class=3D"style1"> HIGH (blah)</h4>** 
<h4><br> 
<br></b> 
<br> 
&nbsp;</h4> 
<TR> 
<TD width=3D"513"> 
<B**>**textttttttttt**</**B><br><br><br><br><hr><table><tr><td>= 
<b>texttttt<br><br><br><br>textttttttt<table>ttttttttttttt</table>ttttttttttttt 
</table></td></tr></table> 
<TD width=3D"513"> 
<ul> 
= 
= 
</u1>        
**<p align=3D"right"><b>REGISTRAR(EVALUATION)<= 
/b></p>** 

我需要字符串 “HIGH” 和 “REGISTRAR” 之间的文本。主要是我需要来自标签<TD width=3D"513"><TD width=3D"513">的数据,但有很多情况下这个标签出现。

+6

**你做不想REGEX为此** – Gordon 2010-06-29 06:57:59

+1

可能的重复[RegEx匹配开放标记,除了XHTML自包含标记](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self- contained-tags/1732454#1732454) – Gordon 2010-06-29 06:59:20

+0

请使用正常语言 - 这里没有必要喊出来。 – Lars 2011-08-29 15:37:27

回答

0

如果整个代码包含在$代码,我会做以下。

$beginning = 'HIGH'; 
$ending = 'REGISTRAR'; 
if (false !== $left = strpos($code, $beginning)) 
{ 
    $left += strlen($beginning); 
    $extract = (false === $right = strpos($code, $ending, $left)? 
     $extract = substr($code, $left, $right - $left): ''; 
} 
echo (isset($extract))? 
    "The code chunk was extracted and it is:\n$extract\n": 
    "The code chunk was not found. :(\n"; 

所以,$提取最终将包含你想...提取文本。

问候〜

注:我写在飞行中此代码,甚至没有尝试,如果有对不起任何错误,请让我知道)

相关问题