我如何在PHP中执行此操作?

时间:2012-11-26 13:31:24

标签: php

没有右键单击浏览器只是为了查看源代码,如何将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中执行此操作?感谢帮助。感谢

7 个答案:

答案 0 :(得分: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);

答案 1 :(得分:2)

我个人将这些内容放入文本区域,然后至少可以轻松选择:

<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>

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

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

你可以使用htmlentities($ text);这样做。

Afaik没有html标签可以做你需要的东西。

<pre> and <code> 

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

答案 5 :(得分:0)

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

如果是后者,你可能想要这样做:

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

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

答案 6 :(得分:-1)

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

<?php
ob_start();
//your php stuff
$contents = ob_get_flush();
echo '<pre>'.$contents.'</pre>';
?>