【问题标题】:PHP output html when creating an image创建图像时PHP输出html
【发布时间】:2013-02-22 16:09:58
【问题描述】:

我正在尝试制作一个生成器来从我的游戏网站输出用户数据,但我从未真正研究过在 PHP 中转换为图像,但是我已经设法从其他问题中了解它的基本工作原理这个网站和其他地方,无论如何我想知道是否可以让我的 PHP 文件生成图像,在其输出中解析 HTML 标签?这是我的脚本:

<?php
$username = $_GET['username'];
$guild = $_GET['guild'];
$create = "Username: " . $username . " Guild: " . $guild . "";

$im = imagecreate(300, 30);
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);

imagestring($im, 5, 0, 0, $create, $textcolor);
header('Content-type: image/png');

imagepng($im);
imagedestroy($im);
?>

在我的 $create 变量中,我希望使用 HTML 标签,但它们不会被解析为 html,它会以纯文本形式输出标签。

【问题讨论】:

  • 现在,在anwserwing之后,我不确定你想要实现什么......你能更清楚吗?
  • 您是要制作一个 html 页面来显示图像吗?
  • 好的,您想使用 HTML 来为图像文本提供结构吗?您的浏览器解析 HTML,而 php 对它不做任何事情。您必须在字符串中使用 \n 之类的内容。

标签: php html image header output


【解决方案1】:

抱歉,PHP 无法在将 HTML 呈现在图像上之前对其进行解析。但是,它确实包含更改字体和对文本应用过滤器的各种功能。见http://php.net/manual/en/ref.image.php

是否有特定原因需要将信息作为图像输出?为什么不简单地使用 HTML 输出信息?

【讨论】:

  • 我希望将信息输出为图像,以便用户可以将其作为论坛等的签名,但是我想使用 HTML 对其进行样式设置,所以我可以给它一个背景图像和图标.无法找到很多吸引我的签名生成器资源,因为它们与我的用途不同。
  • 再一次,您不能为嵌入图像的 HTML 设置样式。但是,您可以使用 PHP 函数更改文本大小、字体和颜色。您也不必从空白画布开始 - 您可以将动态文本覆盖在现有图像上。这是一个您可能会发现有用的教程:terriswallow.com/weblog/2007/writing-text-to-images-with-php
【解决方案2】:

您的浏览器解析 HTML,而 php 对它不做任何事情。你必须在你的字符串中使用像 \n 这样的东西。

【讨论】:

  • 对于某些标签,我该怎么做?除了使用 mail() 函数之外,我从来没有使用过类似的东西来解析东西,但是无论如何都是从在线资源中获取的。
  • 好吧,假设您希望 Guild 出现在新行上,您可以写 $ceate = "Username: ". $username ."\nGuild". $guild;
  • 我刚刚尝试过,它现在显示了某种奇怪的符号,看起来像“T”上的一个小“V”。这真的让我很烦,我尝试了很多不同的东西。
猜你喜欢
  • 2011-04-11
  • 2010-10-17
  • 1970-01-01
  • 2021-09-25
  • 2013-02-24
  • 1970-01-01
  • 2013-04-24
  • 2013-03-07
  • 2021-11-14
相关资源
最近更新 更多