[英]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.