首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >substr和mb_substr不返回任何内容

substr和mb_substr不返回任何内容
EN

Stack Overflow用户
提问于 2016-05-01 20:23:02
回答 1查看 199关注 0票数 0

我不知道下面的代码有什么问题:

代码语言:javascript
复制
<?php
    $html = file_get_contents('https://www.ibar.az/en/');
    $doc = new domDocument();

    $doc->loadHTML($html);
    $doc->preserveWhiteSpace = false;

    $ExchangePart = $doc->getElementsByTagName('li');

    /*for ($i=0; $i<=$ExchangePart->length; $i++) {
        echo $i . $ExchangePart->Item($i)->nodeValue . "<br>";
    }*/

    $C=$ExchangePart->Item(91)->nodeValue;
    var_dump ($C);
    $fff=mb_substr($C, 6, 2, 'UTF-8');
    echo $fff;
    ?>

我尝试过substr和mb_substr,但在这两种情况下都回显$fff;没有返回任何内容。

有人能告诉我我做错了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-01 20:52:25

这是项目91节点:

代码语言:javascript
复制
<ul>
    <li>USD</li>
    <li>1.5072</li>
    <li>1.462</li>
    <li>1.5494</li>
    <li class="down"> </li>
</ul>

这是节点值:

代码语言:javascript
复制
¶
····························USD¶
································1.5072¶
································1.462¶
································1.5494¶
································•¶
····························

( · = space; • = nbsp )

substr( $C, 6, 2 )是由两个空格组成的字符串。

要正确检索所有值,请执行以下操作:

代码语言:javascript
复制
foreach( $ExchangePart->Item(91) as $node )
{
    if( trim($node->nodeValue) ) echo $node->nodeValue . '<br>';
}

否则,可以替换所有节点值空间:

代码语言:javascript
复制
$C = str_replace( ' ', '', $C );
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36971520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档