[英]How can I replace %20 with - from url using php?
码:
<?php
$query = "select * from latest_news limit 0,10";
$fet = mysqli_query($link,$query);
while ($fetch = mysqli_fetch_array($fet))
{
?>
<p id="news-h3"><?php echo $fetch['news_title']; ?>...<a href="news-details.php?news_tags=<?php echo $fetch['news_tags']; ?>" style="color:red;">[Read More]</a></p>
<?php
}
?>
当我点击链接即
<a href="news-details.php?news_tags=<?php echo $fetch['news_tags']; ?>" style="color:red;">[Read More]</a>
它显示
best%20engineering%20college%20in%20India
在这里,我想用url中的(-)替换%20并得到如下结果
best-engineering-college-in-India
我该如何解决此问题,请帮忙。
谢谢
您应该在这里使用str_replace() :
echo str_replace('%20', '-', $input); // best-engineering-college-in-India
基本上,您想解码URL。 您可以使用解码
echo utf8_decode(urldecode($input));
1.您可以使用内置的php函数。您只想用另一个替换字符串即可。
$new_url = str_replace('%20', '-', $url);
欲获得更多信息
http://fr2.php.net/str_replace
2.使用urlencode进行编码。 解码将自动进行,如果您要删除总数的20%,请使用此代码。
$url = "one%20%26%20two";
$a = urldecode($url); // -> "one & two"
假设您的页面在加载时像这样创建您的网址
$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
$base_url = $protocol . $_SERVER["SERVER_NAME"];
然后用它
urldecode($base_url)
如果您想在url中使用它
echo '<a href="?mycgi?foo=', urlencode($userinput), '">';
欲获得更多信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.