【问题标题】:DomDocument produces an exception when it encounters an anchor in an html file?DomDocument 在 html 文件中遇到锚点时会产生异常?
【发布时间】:2012-08-16 16:15:54
【问题描述】:

当我加载我的 html 文件并且 dom 找到一个锚点时

<a href="http://www.facebook.com/page?utm_source=NSLGARNIER&utm_medium=19082012&utm_campaign=SUNSHINE_MOMENTS" style="color:#ababab;text-decoration:none;">Facebook</a>

它返回一个错误

警告:DOMDocument::loadHTMLFile() [domdocument.loadhtmlfile]: htmlParseEntityRef: 期待 ';'在 files/emailing_garnier543/emailing_garnier/emailing_garnier.html 中,第 42 行 C:\wamp\www\emailingtool_new_old\process.php 中的第 13 行

process.php 中的第 12 行包含以下行

$html = $dom->loadHTMLFile($file);

它似乎不接受 ?在网址.. 我该如何解决这个问题?

【问题讨论】:

    标签: php domdocument


    【解决方案1】:

    你应该添加:

    libxml_use_internal_errors(true);
    

    http://codepad.org/eRYubHSA

    <?php
    $string = '<a href="http://www.facebook.com/page?utm_source=NSLGARNIER&utm_medium=19082012&utm_campaign=SUNSHINE_MOMENTS" style="color:#ababab;text-decoration:none;" >Facebook</a>';
    
    $dom = new DOMDocument();
    libxml_use_internal_errors(true);
    
    $dom->loadHTML($string);
    
    var_dump($dom->saveHTML());
    

    【讨论】:

    • 效果很好。我也想知道为什么会这样?这 ”?”据我所知,在网址中是有效的
    • 我认为问题与? 无关,而是与两个&amp;amp; 有关。他们应该是&amp;amp;Check it.
    猜你喜欢
    • 2014-06-21
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2019-06-07
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多