php - 如何使用 php 将 %20 替换为 url 中的 - ?

标签 php jquery

代码:

 <?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

如何解决这个问题,请帮忙。

谢谢

最佳答案

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), '">';

了解更多信息

http://www.php.net/manual/en/function.urldecode.php

关于php - 如何使用 php 将 %20 替换为 url 中的 - ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43133230/

相关文章:

php - 为什么在使用 count(*) DESC 时结果不按顺序显示

php - 按值排序多维数组 - 赔率然后是偶数

javascript - 如何在nvd3图表上显示不同范围的2条线

jquery - 连续 Ajax 调用

javascript - 重定向后获取实际图像 url

php - 通过 SPF 验证电子邮件

php - 避免对数字字符串 MYSQL PHP 进行减法 (-)

javascript - 有没有一种方法可以禁用用户的下拉菜单,同时仍然能够提交具有禁用下拉菜单的表单?

javascript - 如何将 LocalStorage 功能添加到我的 TODO 列表中。如何以及在什么时候?

jquery - 多个选择的选定选项的长度始终返回 1