复制并粘贴的域名将添加到结尾

时间:2012-08-17 22:54:47

标签: php mysql html

当我从Google地图复制域名然后将其粘贴到我构建的表单中时,会将其输入到MySQL数据库中,并在域名末尾添加 ‎

知道如何删除域名 ‎ 吗?

相关代码如下

<div class="friend5title"><label for="url">Website:</label></div> 
    <div class="friend5field"><input name="website" type="text" id="website" maxlength="150"></div>



$website = mysql_real_escape_string($website);

mysql_query("INSERT INTO submission VALUES ('$website')");

2 个答案:

答案 0 :(得分:1)

这是一个控制角色(http://en.wikipedia.org/wiki/Left-to-right_mark)。

忽略我刚刚意识到的所有我以前的答案(因为我写得很快)它不是unicode它实际上是HTML实体格式,所以你需要剥离该HTML实体:

preg _replace('/(&#8206;)/', '', $string);

另一种方法是实际净化你的字符串并清除所有HTML实体,因为它实际上不应该包含任何HTML实体。通常可能会有像&amp;这样的特殊字符,但这些字符不应存在于我认为的输入字段中的URL中。

以下是关于使用可靠答案删除HTML实体的问题:How to remove html special chars?

至于它为什么会发生:有人可能有一个外国浏览器,人为地使输入中的文本以某种方式进行,但反过来又添加了这个html实体。

答案 1 :(得分:0)

在输入字段中粘贴时,您确实复制了一个从左到右的字符,其中包含unicode编号8206.因为浏览器显然确实有一个不在某个unicode字符集中的表单(如UTF-8),所以它被发送到服务器将该字符作为数字实体&#8206;。服务器必须对这些进行解码,或者必须更改表单(和页面)以接受UTF-8。

对于你的LTR字符,它似乎是多余的。您可以添加onchange=...来删除字符&lt; 0和&gt; 127为URL。它们仍然是人物,因此很容易完成。