将HTML文件存储为PHP字符串

时间:2015-02-06 06:44:04

标签: php html

我有一个完整的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>

我试图将其保存在如下变量中:

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

..但它只是在第一个HTML标签处窒息。

5 个答案:

答案 0 :(得分:4)

这是因为第一个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;

答案 1 :(得分:0)

你没有逃脱字符串属性尝试: 替换

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

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

答案 2 :(得分:0)

用户 addslashes function..it不会截断你的字符串。 此函数可用于准备字符串以存储在数据库和数据库查询中。

在存储到数据库或用于任何目的之前

$final_string = addslashes('<!DOCTYPE HTML>

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

在浏览器上呈现该输出之前

$normal_string = stripslashes($database_retrived_string);

答案 3 :(得分:0)

试试这个:

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

$template = htmlentities($temp);

答案 4 :(得分:0)

$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($数据);