0

无需右键单击浏览器即可查看源代码,如何将 php 结果显示为 html 标记,以便用户也可以复制它。

例子:

$var = 'ipsum'; //user input stored in variable

<p style="align="center">Lorem <?php echo $var; ?> dolor sit amet</p>

输出:

Lorem ipsum dolor sit amet

同时,我想显示 html 标记,以便用户可以直接复制它而无需查看源代码,如下所示:

<p style="align="center">Lorem ipsum dolor sit amet</p>

我如何在 php 中执行此操作?感谢帮助。谢谢

4

7 回答 7

4

试试这个 :

echo htmlentities('<p style="align="center">Lorem '.$var.' dolor sit amet</p>');

或者 :

$var = 'ipsum';
$mark = '<p style="align="center">Lorem '.$var.' dolor sit amet</p>';

echo $mark;
echo htmlentities($mark);
于 2012-11-26T13:33:34.103 回答
2

就我个人而言,我会将这些内容放入 textarea 中,然后至少可以轻松选择:

<textarea><p style="align="center">Lorem ipsum <?php echo $var; ?> sit amet</p></textarea>

然后,您甚至可以使用一些 JavaScript 来禁用对该文本框的任何编辑和/或一键全选等。

哦,还有一点:您的语法无效..不太确定您在那里尝试使用 CSS,但我认为是这样的:

<p style="text-align:center">Lorem ipsum <?php echo $var; ?> sit amet</p>
于 2012-11-26T13:35:16.570 回答
0

只需使用<pre></pre>html 标签

于 2012-11-26T13:33:17.817 回答
0

您可以使用函数ob_start缓冲输出并使用htmlentities自动将缓冲区转换为“html_code”

于 2012-11-26T13:33:55.633 回答
0

您需要将被视为 html 的特殊值转换为其实体。

< need to be converted into $lt; 
> need to be converted into $gt; 
etc. .....

您可以使用 htmlentities($text); 去做这个。

Afaik 没有 html 标签可以做你需要的事情。

<pre> and <code> 

并不意味着“不要将其视为 html”。

于 2012-11-26T13:39:46.320 回答
0

您只是想显示一定数量的 HTML 标记,还是真的想要整个页面的源代码,例如单击“查看源代码”时会看到的?

如果是后者,您可能希望这样做:

<?php
$source= file_get_contents('http://www.example.com/');
echo '<textarea>' . htmlentities($source) . '</textarea>';
?>

在 URL 上使用 usefile_get_contents()时(假设安装了最新版本的 PHP),它会返回该 URL 的源。祝你好运!

于 2012-11-26T13:46:06.963 回答
-1

在 php 脚本开始时,您可以启动输出缓冲区。然后在脚本的底部你可以输出两次。

<?php
ob_start();
//your php stuff
$contents = ob_get_flush();
echo '<pre>'.$contents.'</pre>';
?>
于 2012-11-26T13:37:29.793 回答