php - 长图像名称破坏 CSS div

标签 php html css wordpress

我在站点的主页上有网格帖子。这些帖子由用户上传,并且到处都有信息。从长帖子标题(现在限制为 50 个)到长图片名称。

当图像名称太长时,它会破坏 HTML 代码、破坏类、div 等,并导致网格帖子在 Chrome 和 Firefox 中呈现时以“奇怪”的方式显示。以下是正确格式和损坏格式的屏幕截图。

Correct Format

Broken Format

这是格式正确时 HTML 代码的样子:

<div class="grid-image-holder">
            <img onerror="this.onerror=null;this.src='https://image_URL_replaced/nopic.png';" title="This is the Post Title for SEO" alt="Same as post title" src="//cache-DOMAIN.netdna-ssl.com/wp-content/uploads/2016/05/images-160x130.png" class="attachment-160x130" height="130" width="160">

                </div>
                <div class="grid-padd"> etc...

这是代码损坏时 HTML 的样子(图片名称太长):

<div class="grid-image-holder">
            <img onerror="this.onerror=null;this.src='https://image_URL_replaced/nopic.png';" title="This is the Post Title for SEO" alt="Same as post title" src="//cache-DOMAIN.netdna-ssl.com/wp-content/uploads/2016/04/microsoft_aaa_02675_microsoft_office_home_business_2013_9840841-130x130.jpg" class="attachment-160x130" grid-padd"="" height="130" width="130">

注意 <div class="grid-padd">现在坏了,缺少height="130" width="160"></div><div class="并且只会继续进入下一个损坏的div .

我知道这可以通过在上传时限制/重命名图像名称来解决,但这里肯定有问题。为什么会发生这种情况,是否有合适的解决方案而不是破解快速解决方案?

感谢任何帮助。

P.S:当我们添加这个 onerror="this.onerror=null;this.src='https://image_URL_replaced/nopic.png';" 时,这个问题就开始了用网站上的默认图像替换 404 图像,因为 CDN 不是 100% 可靠。

最佳答案

好的,问题解决了。

我们在数据库中有一个表来存储 image_url_cache,它存储整个 img 标签信息,以加快图像的加载时间。列大小限制为 512 个字符。当 img 标签超过 512 个字符时,它会破坏 HTML,因为只有前 512 个字符被存储在数据库中。

修复:增加1024 个字符的列大小修复了这个问题。

关于php - 长图像名称破坏 CSS div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37129004/

相关文章:

php - 当我在 MAMP 上选择 'Start Servers' 时,MySQL 服务器无法启动

html - 在 div 元素中显示图像的一部分

javascript - 无法让 Flickity slider 出现在两个 div 之间

html - 添加链接后表格中的额外空间

php - 如何计算数据被访问的次数?

PHP/Mysql : A db entry needs to store multiple values for categorization (cat, 子目录、标签)

javascript - 选择具有多个参数的行(ajax 和 PHP)

python - 简单的 GET-POST 回复

jquery - 对响应式网站使用前缀 id 标签而不是媒体查询是否不好?

html - 使用列数时在悬停时显示文本