ホームページ  >  記事  >  バックエンド開発  >  URLに#などの特殊記号を含むPHPパラメータを取得する方法

URLに#などの特殊記号を含むPHPパラメータを取得する方法

小云云
小云云オリジナル
2018-03-16 14:19:153974ブラウズ

この記事では、PHP が URL に # などの特殊な記号を含むパラメータを取得する場合の解決策を主に紹介します。この記事では、この問題を解決するために JS のエスケープ関数を使用してエンコードして渡します。皆さんのお役に立てれば幸いです。

今日、vle.js を使用するフロントエンドで # 記号の付いたパスを見つけました。パラメータを取得するにはバックエンド インターフェイスに転送する必要があり、その後、インターフェイスの URL が現在のページに戻ります。フロントエンドによって返される URL は、今日関数エスケープ
key =escape(keys ); //* @ - _ + / を除いて文字列をエンコードします。 url 関数を使用して、まず現在の URL パスを取得し、
$aurl = rawurldecode( $aurl);
$url =explode('url=',$aurl)[1];
この例では# 記号を使用して URL にジャンプできます

Busy first は関数の使用例です:

たとえば、次の PHP コード:

<?php
echo $_GET[&#39;key&#39;];
?>

URL が http://test.com/ の場合c.php?key=999、通常の出力: 999

URL が http://test.com/c.php?key=9 の場合 #888 の場合、出力できるのは 9

であり、取得したいのは9#888 それでどうすればいいですか? 9#888 をキーに渡す方法しか見つかりません。
JSでエスケープ関数をエンコードして渡すことで、この問題を解決しました。必要な友達はそれを参照できます。

<input placeholder="输入SN码" type="text" id="searchs" name="searchs" />
<a class=&#39;btn&#39; onclick="searchsn();" href="javascript:;">查询</a>
<script>
    function searchsn() {
        var keys = $(&#39;#searchs&#39;).val();
        if (keys == &#39;&#39;) {
            alert(&#39;请填写SN码&#39;);
            return false;
        }
        keys = escape(keys); //对字符串进行编码,* @ - _ + . / 这几个字符除外
        window.location.href = &#39;c.php?key=&#39; + keys;
    }

</script>

関連する推奨事項:

PHP が URL インスタンスを取得する方法の詳細な説明

PHP の正規マッチングで URL 内のドメイン名のコードを取得する

php URL 内のファイル拡張子を取得する

以上がURLに#などの特殊記号を含むPHPパラメータを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。