Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 剥离标记的nodeValue属性的可靠性如何?它与剥离标记()相比如何?_Php_Html_Dom - Fatal编程技术网

Php 剥离标记的nodeValue属性的可靠性如何?它与剥离标记()相比如何?

Php 剥离标记的nodeValue属性的可靠性如何?它与剥离标记()相比如何?,php,html,dom,Php,Html,Dom,输出: <?php function walkDOM($node) { if (! isset($node->childNodes)) return; for ($i = 0; $i < $node->childNodes->length; $i++) { $childNode = $node->childNodes->item($i); $childNodeName = $childN

输出:

<?php
function walkDOM($node)
{
    if (! isset($node->childNodes))
        return;

    for ($i = 0; $i < $node->childNodes->length; $i++) {

        $childNode = $node->childNodes->item($i);
        $childNodeName = $childNode->nodeName;

        echo $childNode->nodeName . " - " . $childNode->nodeType . 
             " - \"" . $childNode->nodeValue . "\"\n";
        walkDOM($childNode);
    }
}

function processHTML($s)
{
    $doc = new DOMDocument('1.0', 'UTF-8');
    $success = $doc->loadHTML($s);
    if (! $success) {
        echo "Load HTML failed.\n";
        exit(1);
    }
    echo "Loaded HTML: " . $doc->saveHTML() . "\n";
    walkDOM($doc);
}

$s = '<div>hello, <p>world<big>!</big></p></div>';
processHTML($s);
?>
$s = '<div>hello, <p>world<big>!</big></p></div>';
$doc = new DOMDocument('1.0', 'UTF-8');
$doc->loadHTML($s);
echo $doc->childNodes->item(1)->nodeValue . "\n";
但我也可以使用
strip\u标签来实现:

hello, world!
$s='你好,世界

",; 回音条标签($s)。“\n”;
我有两个问题:

  • 将来我可以依靠
    nodeValue
    属性的这种行为来剥离标签或做任何我能想象到的其他事情吗。有什么隐藏的惊喜吗
  • 使用
    nodeValue
    剥离标签与使用
    strip_tags()
    剥离标签有何不同

  • 如果你只想去掉标签,有什么复杂的?我认为使用strip_tags()函数更快更好。此外,还可以使用第二个参数来指定不应剥离的标记。

    您是否有任何来源支持您的声明,即使用
    剥离标记()更快更好。
    ?另外,您知道我的第一个问题的答案吗,即我所解释的
    nodeValue
    的行为是否可以依赖?
    hello, world!
    
    $s = '<div>hello, <p>world<big>!</big></p></div>';
    echo strip_tags($s) . "\n";