2

私のコードはこのようなもので、すべての DOM 要素にアクセスします。今、それらの横に行番号を追加したいと思います。誰でも助けてください。ありがとう。

<?php   
$dom = new domDocument;
// load the html into the object
$dom->loadHTMLFile('$url');
// keep white space
$dom->preserveWhiteSpace = true;
// nicely format output
$dom->formatOutput   = true;
//get element by tag name
$htmlRootElement = $dom->getElementsByTagName('html');
$new = htmlspecialchars($dom->saveHTML(), ENT_QUOTES);
echo '<pre>' .$new. '</pre>';
?>

上記のコードは、行番号を出力しません。私はこのようなことをしたいです。

<!DOCTYPE html>
1.<html>
2.<head>
3.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4.   <title></title>
5.</head>
6.<body>
7.</html>

任意の提案をお願いします。ありがとう。

4

2 に答える 2

1
$lines = explode(PHP_EOL, $html);

私のヒントがあります。残りはあなたが理解できると確信しています。GeSHiのように、このところでは既に PHP ライブラリがあります。

ああ、あなたのコードには小さなエラーがあります。HTML をロードしている場所では、 を実行します。これは、変数が何であれ、'$url'文字通り を意味します。$url二重引用符を使用するか、まったく使用しないでください。

于 2012-12-30T02:54:51.357 に答える
1

文字列を新しい行で分割し、行番号とそれに続く行を出力します。

$lines = preg_split( '/\r\n|\r|\n/', $new );//split the string on new lines
echo "<pre>";
foreach($lines as $lineNumber=>$line){
  echo "\r\n" . $lineNumber . ". " . $line; 
}
echo "</pre>";
于 2012-12-30T02:58:25.740 に答える