【解決方法】URL にステートメントが含まれている場合、この PHP を編集するにはどうすればよいですか?

プログラミングQA


QUESTION :

$host = ltrim($_SERVER['REQUEST_URI'], '/');

this remove prefix "/" from URL

i also need the suffix "?page=*" removed

eg :

/city?page=4 becomes city

/sydney?page=444 becomes sydney

etc

私が試したこと:

preg-replaceを試しましたが、ltrimと組み合わせることができませんでした

解決策 1

使用する必要があります urlencode & urldecode それのための。

引用:

urlencode($your_string) — この PHP 関数は、URL のクエリ部分で使用される文字列をエンコードします。 URL エンコードは、クエリ文字列にテキストを配置するときに、URL 自体との混同を避けるために使用されます。

引用:

urldecode($your_string) — この PHP 関数は、URL 文字列のクエリ部分をデコードします。

例:

PHP
$url = "https://sample.ex/home.php?queryparam=all about php";
$encodedUrl = urlencode($url);

//returns http%3A%2F%2Fsample.ex%2Fhome.php%3Fqueryparam%3Dall+about+php
echo $encodedUrl;

//returns https://sample.ex/home.php?queryparam=all about php
echo urldecode($encodedUrl);

参照: PHP: urlencode – マニュアル[^]
PHP: URLデコード – マニュアル[^]

コメント

タイトルとURLをコピーしました