链接:问题符号“(可能是编码问题)

时间:2013-02-20 19:44:45

标签: string encoding hyperlink str-replace double-quotes

我在页面上生成了一个链接

<a href="#" onClick="loadList(5); return false;">5</a>

问题是,当我点击链接时,它会将我重定向到

<a #" onClick="loadList(4); return false;

在我检查的谷歌浏览器中,我看到生成的HTML是

<a href="#&quot; onClick=&quot;loadList(5); return false;">5</a>

我的问题是我正在使用外部类并从不同的函数(作为字符串)获取字符串<a href="#">5</a>,而我无法控制它。我唯一能做的就是str_replace之类的字符串函数。我试图在函数中找到字符串",但无效。

这可能是编码问题吗?

如何解决这种奇怪的现象?

谢谢!

编辑:

页面为http://www.belgiumdiamonds.net/en/diamond-collection-test

1 个答案:

答案 0 :(得分:1)

鉴于要查看问题的URL很清楚。 Inspect元素显示了Chrome如何解析HTML,而不是真正的HTML。

分页来自这个ajaxed页面

http://www.belgiumdiamonds.net/index.php/tools/blocks/diamond_list/list_display

所以看看它的来源。

<a href='#" onClick="loadList(2); return false;' >

注意不匹配的引号

<a href='#" onClick="loadList(2); return false;' >
        ^ ^ here

<a href='#" onClick="loadList(2); return false;' >
                    ^                          ^ here

链接仍然显示的原因是您有一对看似有效的引号,创建此网址:#" onClick="loadList(2); return false;这显然是错误的。

现在,如果您无法解决此问题,则需要向我们展示该类中的相关代码和/或您如何调用该函数来创建分页。可能是执行错误而不是班级。如果它是类,你可以扩展它并修复它或者像你试过的那样使用str_replace粘贴它,但是肯定会有效:

 $the_anchor=str_replace("'", '"', $the_anchor);