返回行包括找到的字符串

时间:2014-07-28 13:04:49

标签: php html line-numbers

说我有一个HTML文档:(下面摘录了行号)

30 - <div id="myDiv">
31 -   <span class="mySpan">Some Text</span>

我正在使用PHP:

$html = file_get_contents('myHtml.html')

我想找到找到字符串的行号(让我们假设文档中只出现一次字符串),并返回在该行上找到的全部内容。例如,

getLine('myDiv'); //returns <div id="myDiv">
getLine('class="mySpan"'); //returns <span class="mySpan">Some Text</span>

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:2)

line理解为由换行符('\ n')分隔的字符集,您可以按如下方式展开$ html字符串:

$lines = explode("\n", $html); 

然后在保持行数的同时迭代每一行:

$lineno = 1;
foreach ($lines as $line) {
    if (strstr($line, $what_to_find) !== FALSE) {
        //Match
        echo "Line $lineno: $line\n";
    }
    $lineno++;
}