8

私はロードするhtmlファイルを持っており、DOMDocumentその中でいくつかのDOM操作を行い、htmlを出力しsaveHTMLます。

問題は、input タグの後の空白が削除されていることです。これは HTML です。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title></title>
        <link rel="stylesheet" type="text/css" href="/style.css">
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
        <script>
            window.jQuery || document.write(unescape('%3cscript src="/script/jquery.min.js"%3e%3c/script%3e'));
        </script>
    </head>
    <body>
        <div>
<div>
    <form method="post" action="/register/">
        <label>First name: <input type="text" name="firstname"></label>
        <label>Last name: <input type="text" name="lastname"></label>
        <label>Date of birth: <input type="date" name="dateofbirth"></label>
        <label>Address: <input type="text" name="address"></label>
        <label>Phone number: <input type="text" name="phonenumber"></label>
        <label>Sex: <input type="text" name="sex"></label>
        <label>Email address: <input type="email" name="email"></label>
        <label>Account password: <input type="password" name="password"></label>
        <input id="register-button" type="submit" value="Register">
        <input type="reset" value="Reset">
        <input type="button" value="Cancel">
    </form>
</div>
        </div>
    </body>
</html>

PHP

$template_file = $_SERVER['DOCUMENT_ROOT']."/application/template/template.html";
$doc = new DOMDocument('1.0', 'utf-8');
$doc->loadHTMLFile($template_file);
/* dom manipulation, importing and appending nodes from other documents etc */ 
echo $doc->saveHTML();

のタグを除いて、私が試した他のタグ(<br>、 )の後に空白をストライプしました。<hr><head>

trueに設定しようとしformatOutputましたが、終了タグの前のスペースのみが保持されました。

DOMDocument に s の後の空白を保持させる方法はあり<input>ますか?

4

1 に答える 1