2014-10-01 52 views
0

每当我在我的图像ALT标记中使用空格,我的整个<img>线获得真的搞砸了。图像替换和标题越来越乱用空间

假设我的img标题是Windows 10,对今天的新闻有点特别。我们还要说我的img标签是Windows 10 officially announced

当我插入这在我的img标签应该发生的是:

<img src="/windows_10.png" title="Windows 10" alt="Windows 10 officially announced" /> 

但发生的事情是:

<img src="/windows_10.png" title="Windows" 10="" alt="Windows" officially="" announced=""> 

我从数据库检索,填充之前其确实html_entity_decode我的新闻动态页面。 img标签在执行html_entities函数后存储在数据库中。 (PHP是它自己编码的东西。)

我真的不明白它出错的地方。

+0

你能显示你的完整代码吗?你缺少引用或引用不正确排列 – 2014-10-01 05:54:06

+0

你应该显示实际生成'img'元素的代码部分,并显示它从数据库中获取的实际数据,并且应该显示实际的HTML为生成的(您发布的内容看起来像已经被浏览器解析过的东西)。 – 2014-10-01 05:56:47

+0

生成图像的部分是html_entity_decode($ content);内容是从数据库中检索的行。 – user3454669 2014-10-01 06:03:03

回答

0

看起来你正在使用的过滤是用空格分解标签内容,然后分配attr_name,att_value。

另一方面,htmlenitities编码和解码是为了从数据库中存储和检索纯文本,或者将纯文本转换为html和html文本(不是代码)为纯文本,或者转义html来显示html内部的html渲染它(例如,查看http://php.net/manual/es/function.htmlentities.php)。

如果您只是想要存储和检索html代码,则不需要它。

所以你可能会好,如果不是html_entities编码和解码你只是使用html实体&nbsp;而不是空格字符,并将其存储在数据库中。

+0

现在我觉得很愚蠢,哈哈哈,谢谢你的队友,它确实解决了问题!我会立即将它插入系统,以消除问题,并可能忘记添加 而不是空格! :) – user3454669 2014-10-01 05:59:10