Возвращаемая строка, включая найденную строку

Скажем, у меня есть 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 ответ

Решение

Понимание 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++;
}
Другие вопросы по тегам