2016-11-02 27 views
1

原始字符串(如何製作三明治?)。php - 在網址中替換%20,%2D

如何使一個url看起來像這樣(how%20to%20make%20a%20sandwich%F2)在php中出現像這樣(how-to-make-a-sandwich?)

我知道str_replace可以做到這一點,但它並不適用於所有情況。

我想使用一些被認爲是最佳實踐的東西,並在所有情況下都能正常工作。

謝謝!

+2

在什麼情況下'str_replace'不起作用? –

+0

你想在單詞之間使用連字符或空格嗎? –

+0

我想要在你的例子中的單詞 – Malmo

回答

1

preg_replace是在同一時間更換兩個值做一個有效的方法:

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

你可以在PHP函數中使用編譯:

$str = urldecode(string $str)

功能。將任何%##轉換爲相應的char。

0

嗯,這是最簡單,最乾淨的做法。當然,它使用str_replace。

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