2013-02-23 85 views
0

我正在使用简单的HTML DOM解析器从网站检索特定的div。我使用explode()删除了我不想要的div部分。然后我想将保留的部分分解成一个新的数组,但由于某种原因,它不会按照预期进行索引。爆炸两次没有正确索引

为什么我最后一行没有“echo $ content [0];”打印“总体”而“echo $ content [5];”当Overall是第一个字符串时呢?我该如何解决?

<?php 
    include_once('simple_html_dom.php'); 

    $html = file_get_html('http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=Pur'); 
    $content = $html->find('div[id=contentHiscores]', 0)->plaintext; 
    echo $content; 
    echo "<br><br><br><br>"; 


    $content = explode("SkillRankLevelXP", $content); 
    $content = $content[1]; 
    echo $content; 
    echo "<br><br><br><br>"; 


    $content = explode(" ", $content); 
    echo $content[0]; 

?> 

回答

0

SkillRankLevelXP与总体之间,有6位,尽管浏览器只显示它作为1.使用“查看源文件”菜单,你会明白我的意思。

你可以使用一些正则表达式来替换2个或更多的空格,只有一个空格,我认为这会让你更接近你想要的。

<?php 
    include_once('simple_html_dom.php'); 

    $html = file_get_html('http://services.runescape.com/m=hiscore_oldschool/hiscorepersonal.ws?user1=Pur'); 
    $content = $html->find('div[id=contentHiscores]', 0)->plaintext; 
    $content=preg_replace('/ {2,}/', ' ', trim($content)); 

    $content = explode('SkillRankLevelXP ', $content); 
    $content = $content[1]; 

    $content = explode(' ', $content); 
    print_r($content); 
?>