爆炸两次没有正确索引

时间:2013-02-23 10:47:44

标签: php explode

我正在使用Simple HTML DOM Parser从网站中检索特定的div。我使用explode()删除了我不想要的div部分。然后,我想将保留的部分分解为一个新数组,但由于某种原因,它没有按预期编入索引。

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

<?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];

?>

1 个答案:

答案 0 :(得分:0)

在SkillRankLevelXP和整体之间,有6个空格,但浏览器只显示为1.使用“查看源”菜单,你会看到我的意思。

您可以使用一些RegEx来替换2个或更多空格,只需1个空格,我认为这样可以让您更接近您想要的。

<?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);
?>