简体   繁体   English

将HTML文件存储为PHP字符串

[英]Storing HTML file as a PHP string

I have a full HTML page: 我有完整的HTML页面:

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>Template</title>
    <meta name="description" content="">
    <meta name="HandheldFriendly" content="True">
  ...
</head>
<body>
...
</body>
</html>

I'm trying to save it in a variable like so: 我试图将其保存在这样的变量中:

$template = htmlentities("<!DOCTYPE HTML><html lang="en-US">...", ENT_HTML5, "UTF-8" );

.. but it chokes at just the first HTML tag. ..但它仅在第一个HTML标记时令人窒息。

That's because the first HTML tag has double quotes, just like you use for delimiting your string literal. 这是因为第一个HTML标记具有双引号,就像您用来分隔字符串文字一样。

$template = <<<EOD
<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>Template</title>
    <meta name="description" content="">
    <meta name="HandheldFriendly" content="True">
  ...
</head>
<body>
...
</body>
</html>
EOD;

You are not escaping the string propertly Try to: Replace 您没有适当地转义字符串尝试执行以下操作:替换

htmlentities("//whatever your html code is//");

with

htmlentities('//whatever your html code is//');

user addslashes function..it will not truncate your string in between. 用户增加斜线功能..它不会截断之间的字符串。 This function can be used to prepare a string for storage in a database and database queries. 此函数可用于准备用于存储在数据库中的字符串和数据库查询。

Before storing into database or for any purpose 在存储到数据库中或出于任何目的之前

$final_string = addslashes('<!DOCTYPE HTML>

..........'); ..........');

Before rendering that output on browser 在浏览器上呈现输出之前

$normal_string = stripslashes($database_retrived_string);

Try this: 尝试这个:

$temp     = addslashes('<!DOCTYPE HTML><html lang="en-US">...', ENT_HTML5, "UTF-8" );

$template = htmlentities($temp);
$data = '<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>Template</title>
    <meta name="description" content="">
    <meta name="HandheldFriendly" content="True">
  ...
</head>
<body>
...
</body>
</html>';

base64_encode($data); BASE64_ENCODE($数据);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM