php - 在网址中替换%20,%2D

时间:2016-11-02 18:22:22

标签: php url

原始字符串(如何制作三明治?)。

如何使一个看起来像这个(how%20to%20make%20a%20sandwich%F2)的网址在php中显示为(how-to-make-a-sandwich?)

我知道str_replace可以做到这一点,但它并不适用于所有情况。

我想使用被认为是最佳做法的东西并适用于所有情况。

谢谢!

3 个答案:

答案 0 :(得分:2)

你可以在php函数中使用build:

$str = urldecode( string $str)

功能。将%##转换为相应的字符。

答案 1 :(得分:1)

preg_replace是一种有效的方法,可以同时替换两个值:

<?php
$string = "how%20to%20make%20a%20sandwich%F2";
$find = array( '/%20/','/%F2/' );
$replace = array( '-','?' );
echo preg_replace( $find, $replace, $string );
?>

答案 2 :(得分:0)

嗯,这是最简单,最干净的方法。当然,它使用str_replace。

$test = urldecode("how%20to%20make%20a%20sandwich%F2");
$test = str_replace(" ", "-", $test);