使用PHP DOM Parser在循环中仅获取所需值的条件

时间:2014-10-16 02:43:00

标签: php dom file-io conditional-operator

我尝试仅返回<p>标记的值,如果它不是0。

到目前为止,我已经尝试设置一个条件来检查该值是否为零但没有成功

我想要达到的例子:

第0行:某些内容NOTZERO

第3行:某些内容NOTZERO

 <?php


    ini_set('max_execution_time', 300);
    $url="http://somedomain/something/";
    $lines = file('text.txt',FILE_IGNORE_NEW_LINES);

    foreach ($lines as $line_num => $line){
    if ($line_num % 2 == 1) {
        continue; // Skip odd lines
    }



    echo  "<br />\n"."Line #<b>{$line_num}</b>  :" .(htmlspecialchars($line."\t"));
    $dom = new DOMDocument;
    $dom->loadHTMLFile($url.$line);
    foreach ($dom->getElementsByTagName('p') as $node) {

    // do stuff with $node

    echo $node->nodeValue, "\n";  




    }
    }   



   ?>

另外,你能建议我加快执行速度吗?

1 个答案:

答案 0 :(得分:0)

比我想象的要简单。希望有一天有人觉得这很有用

<?php
    ini_set('max_execution_time', 300000);
    $url="http://somedomain/something/";
    $lines = file('text.txt',FILE_IGNORE_NEW_LINES);
    $i=0;
    foreach ($lines as $line_num => $line){
    if ($line_num % 2 == 1) {
        continue; // Skip odd lines
    }




    $dom = new DOMDocument;
    $dom->loadHTMLFile($url.$line);
    foreach ($dom->getElementsByTagName('p') as $node) {
    // do stuff with $node

    if($node->nodeValue!="0"){

    echo  "<br />\n"."Line #<b>{$line_num}</b>  :" .(htmlspecialchars($line."\t\t"));

    echo $node->nodeValue, "\n";  




    }
    }
}   




   ?>