2014-09-22 61 views
-4

我试图从页面中获取元素的值http://mhs.mamkschools.org 在右侧边栏显示它是哪一天(“第4天”),我试过使用DomDocument,正则表达式和其他一些选择。我想知道你们中的任何一个能否帮助我解决这个问题。谢谢。使用PHP或Javascript获取元素

+1

'$( '#ctl00_lm_wp411648411_ctl00_Template_upcomingEvents_ctrl0_events_ctrl0_ctl00_titlePlaceHolder')找到( '跨度')文本()'那是你在找什么? – yajakass 2014-09-22 19:55:18

+1

你试图解析什么是标记?你尝试了什么?你的尝试如何不按预期工作?请具体说明。 – David 2014-09-22 19:55:58

回答

2

我假设你已经有了HTML。

<?php 

$htmlString = <<<EOF 

<div class="upcomingEvent"> 
    <div class="upcomingEventInner"> 


    <div class="ueContent"> 

    <div id="ctl00_lm_wp411648411_ctl00_Template_upcomingEvents_ctrl0_events_ctrl0_ctl00_titlePlaceHolder" class="ueTitle"> 

    <span>DAY 4</span></div> 
    <div class="clear-both"></div>  



    </div> 
</div> 
</div> 


    </div> 

    <div class="upcomingEventDay"> 
     <div class="ueDate"><span class="ueDateBullet color-pc"></span>Tuesday, September 23</div> 




<div class="upcomingEvent"> 
    <div class="upcomingEventInner"> 
EOF; 

$doc = new DomDocument(); 
$doc->strictErrorChecking = false; 
@$doc->loadHTML($htmlString); 
$el = $doc->getElementById('ctl00_lm_wp411648411_ctl00_Template_upcomingEvents_ctrl0_events_ctrl0_ctl00_titlePlaceHolder'); 
var_dump(trim($el->nodeValue)); 

?> 

对于正则表达式:。

preg_match_('~<span>DAY [0-9]+<\/span>~i', $html, $res); 
print_r($res);