当前代码:
<?php
include('conn.php');
$sql = mysql_query("select min(news_id) 'min' from news");
$res = mysql_fetch_array($sql);
$qry=mysql_query("select * from news order by date(post_date) desc,priority desc ");
while($row1=mysql_fetch_array($qry)) {
<p class='news_title'><a href='newsdetail.php?id=".urldecode($row1['news_heading'])."'>{$row1['news_heading']}</a></p>
}
?>
当我将标题传递到下一页时......
下一页的网址显示如下
newsdetail.php?ID =在%20front%20%20of%第二十条%20houses
我需要这样显示:
newsdetail.php?id =在房子前面
答案 0 :(得分:3)
您不能在网址中包含空格或特殊字符。 如果您尝试将它们放入,则浏览器会将%20放入空格。
对于干净的网址,请用hypen( - )
替换空格或特殊字符function cleanURL($textURL) {
$URL = strtolower(preg_replace( array('/[^a-z0-9\- ]/i', '/[ \-]+/'), array('', '-'), $textURL));
return $URL;
}
while($row1=mysql_fetch_array($qry)) {
<p class='news_title'><a href='newsdetail.php?id=".cleanURL($row1['news_heading'])."'>{$row1['news_heading']}</a></p>
}
输出
newsdetail.php?ID =在前方的最屋
这么想,这会对你有所帮助
答案 1 :(得分:2)
您不能在网址中包含原始空格。如果您尝试将它们放入,则浏览器将纠错并为您转义它们。
答案 2 :(得分:1)
您可以使用urldecode
转换网址字符串。
http://www.php.net/manual/en/function.urldecode.php
echo urldecode('newsdetail.php?id=In%20front%20%20of%20the%20houses');
将产生:
newsdetail.php?id=In front of the houses