【问题标题】:Explode twice doesn't index properly爆炸两次没有正确索引
【发布时间】:2013-02-23 10:47:44
【问题描述】:

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

为什么我的最后一行没有“echo $content[0];”在 "echo $content[5];" 时打印 "Overall"确实,当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];

?>

【问题讨论】:

    标签: php explode


    【解决方案1】:

    SkillRankLevelXP 和 Total 之间有 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);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-24
      • 1970-01-01
      相关资源
      最近更新 更多