我正在尝试使用' Simple HTML DOM Parser'选择html页面的特定部分。
我的代码到目前为止有效,但它会返回完整文本,这很棒,但我只想显示单个P BARCODE[pb]
行。
我的(工作)PHP代码如下;
$homepage = file_get_html('http://example.com/SomeTextPage');
foreach($homepage->find('text') as $element)
echo $element->innertext . '<br>'; // line 29
这会在我的页面上返回以下内容(这是视图源显示);
<HTML>
<BODY>
EXP DATE[p43]=12-31-97<BR>
PCODE1[p44]=-<BR>
PCODE2[p45]=-<BR>
PCODE3[p46]=0<BR>
P TYPE[p47]=1<BR>
TOT CHKOUT[p48]=56<BR>
TOT RENWAL[p49]=17<BR>
CUR CHKOUT[p50]=3<BR>
HOME LIBR[p53]=0000<BR>
PMESSAGE[p54]=<BR>
MBLOCK[p56]=-<BR>
REC TYPE[p80]=p<BR>
RECORD #[p81]=110220<BR>
REC LENG[p82]=1126<BR>
CREATED[p83]=01-09-97<BR>
UPDATED[p84]=06-05-97<BR>
REVISIONS[p85]=139<BR>
AGENCY[p86]=1<BR>
CL RTRND[p95]=0<BR>
MONEY OWED[p96]=$1.35<BR>
BLK UNTIL[p101]= - - <BR>
CUR ITEMA[p102]=0<BR>
CUR ITEMB[p103]=0<BR>
PIUSE[p104]=0<BR>
OD PENALTY[p105]=0<BR>
ILL CHKOUT[p122]=3<BR>
PATRN NAME[pn]=Jackson, Richard<BR>
ADDRESS[pa]=322 San Diego St<BR>
ADDRESS2[ph]=El Cerrito, CA 99999<BR>
TELEPHONE[pt]=510-555-1212<BR>
UNIV ID[pu]=111111111<BR>
P BARCODE[pb]=21913000482538<BR>
</BODY>
</HTML>
我想我需要选择第32行<br>
或更重要的是[P BARCODE[pb]]
行 - 这可能吗?
[P BARCODE[pb]]
行并不总是第32行,但[P BARCODE[pb]]
文字永远不会改变。
也许我接近这个错误的方式?
欢迎任何帮助或建议。
答案 0 :(得分:0)
它没有那样工作,将每一行文字都包裹在<span>
中,以便您可以单独访问它们。
显然还有另一种选择,我想参考this回答
答案 1 :(得分:0)
There is conflict between your defined css file and jquery imported cdn library css just imported library overriding your defined css file
segregate both css using id,class level selector
#site {
font-size: 14px;
//preferred way
}
#div #site {
font-size: 10px;
// conflicting the font-size of div && overriding the size property
}
答案 2 :(得分:0)
您想尝试使用regexp吗?
$subject = 'P BARCODE[pb]=21913000482538<BR>';
$pattern = '/P\sBARCODE\[pb\]=([0-9]*)<BR>/';
preg_match($pattern, $subject, $matches);
print_r($matches);