如何使动态创建的内容可共享

How to make dynamically created content sharable

我有一个网站可以使用 PHP 根据用户输入生成反馈,我想让人们可以选择分享他们的反馈,但我不确定如何分享。

我可以使用 Open Graph 并用 PHP 填充元数据,但它看起来不太好,人们可能只想共享网站而不是他们的反馈。

所以理想情况下,我希望能够分享某种类型的 HTML 或动态生成的图像。

Facebook 的

https://developers.facebook.com/docs/plugins/share-button

这个好像没有什么好的建议。

我更愿意使用 PHP 或某种类型的 Javascript 来完成它。

谢谢!

我觉得应该按照下面的方式来做(我没试过)。 由于 Facebook 提供了两件事,您的网页中包含的第一件事是 javascript 代码,第二件事是 html 标记 示例 html 标记遵循一个

<div data-href="https://developers.facebook.com/docs/plugins/" data-layout="button_count"></div>

您必须使用 $url 之类的变量更改 data-href 属性,它应该包含动态生成的 url 如果你想分享当前的 url 你将使用 $_SERVER superglobal 来构建它。

事实证明,执行此操作的最佳方法是在为图像输入 src= 时使用 php imagecreate(),只需将 GET 值放入图像的 URL你打电话给

 <img src="www.domain.com/myimage.png?textoverimage=customersname" />

但是您可以使用 php 创建 url,这样人们就可以通过简单的 html 表单提交他们想要的图像值,就像这样。

 <form method="get">
     <imput type="text" name="customername" />
     <imput type="submit"  />   
 </form>  

 <img src='www.domain.com/myimage.png?textoverimage=<?php echo $_GET["customername"];?>' />

然后 php imagecreate() 将采用这些值并使用它们将文本放在图像上,从那时起就很容易使图像可共享。

现在您可能习惯于在 <img />src 中调用图像文件,但在这种情况下,您实际上会调用 php 文件并且 imagecreate() 将生成php 文件中的所需图像。下面是 php 文件的样子。

<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = @imagecreatefromjpeg("http://domain.com/imagefile.jpg");

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
//imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw

$text = $_GET["textoverimage"];


$font = '/stocky.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 120, 170, $grey, $font, $text);


// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

这是我发现的动态生成带有文字的图像的最佳方法。