【发布时间】:2011-03-10 14:35:39
【问题描述】:
我想要的是一个可以在用户输入上运行的函数,它可以智能地找到 width 和 height 属性并将其添加到 HTML blob 中的任何 <img> 标记,以避免页面重排问题,同时图像加载。
我正在为一个 PHP 论坛编写发帖脚本,其中用户的输入被清理并且通常在将其写入数据库以供以后显示之前变得更好。作为我所做的让事情变得更好的一个例子,我有一个脚本,可以将alt 属性插入到图像中,如下所示:
Here are two images: <img src="http://example.com/image.png"> <img src="http://example.com/image2.png">
在被发布脚本清理后,变成
Here are two images: <img src="http://example.com/image.png" alt="Posted image"> <img src="http://example.com/image2.png" alt="Posted image">
(这使得它在 HTML 4 严格下验证,但可能不符合 alt 属性的精神——唉!)
因此,对于我的函数,我有一个模糊的想法,即服务器需要在它在 HTML 块中找到的每个外部图像上运行 getimagesize(),然后将函数生成的属性应用于每个 <img>标记它遇到。我假设这个函数之前已经写过,但我在谷歌或 php.net 文档上没有运气。我是否必须从头开始,或者是否有人知道我可以使用或适应的(相对)强大的功能来完成这项工作?
【问题讨论】:
-
我相信您需要获取图像并将其写入文件,然后对其运行 getimagesize() 以获取其宽度和高度。完成后,您可以 unlink($pathToFile) 删除它
-
更有效的做法是拥有一个不会随着图像加载而中断/重排的布局;或者也许使用客户端脚本来操作宽度和高度属性。
标签: php html html-sanitizing getimagesize