0

好的,我在数据库中手动插入了名称 New York。现在我想显示为 New York 的两个词,它工作正常,但是当我想变成像 newyork.mydomain.com 这样的链接时,这两个词没有组合,而是 new%20york.mydomain.com。无论如何要在数据库中将名称保留在两个单词中,但是当我变成链接时将它们组合起来。当我进行查询时,请保留在我的位置上,有些名称只有一个词,而另一些则有多个词。这是我正在使用的代码。

while($state = mysql_fetch_array($states_set)) {
    echo "<td><a href=\"http://{$state["menu_name"]}.mydomain.com\">{$state["menu_name"]}</a></td>";

提前致谢

4

2 回答 2

2

必须摆脱%20可能会导致问题,因为问题是它最初是如何到达那里的。您可以使用urldecode解码任何网址

例子

$url = "new%20york.mydomain.com";
echo urldecode($url);

输出

new york.mydomain.com

然后str_replace在必要时和trim连接期间使用替换空白空间

于 2012-11-18T01:16:18.597 回答
0

十六进制 20 是空格(20H 或 %20)。Urls 不能有空格,所以最好的办法是删除所有 %20 或用“_”或“-”替换它们,用 str_replace() 或类似函数。

于 2012-11-18T01:30:29.267 回答