ホームページ バックエンド開発 PHPチュートリアル PHP 正規表現の動作: URL パラメータの照合

PHP 正規表現の動作: URL パラメータの照合

Jun 23, 2023 am 10:55 AM
php 正規表現 URLパラメータ

インターネット技術の発展とアプリケーションの継続的な拡張に伴い、URL パラメータは日常の開発で処理する必要がある一般的なデータ タイプになりました。実際の開発環境では、特定のパラメータの値を抽出したり、パラメータが形式に準拠しているかどうかを判断したりするなど、URL パラメータに基づいて特定の情報を照合する必要があることがよくあります。

正規表現は、URL パラメーターを迅速に照合して処理するのに役立ちます。この記事では、PHP 正規表現の実践における URL パラメータ マッチングに使用される関連知識とテクニックを紹介し、コード例を示します。

1. URL パラメーターの照合

URL パラメーターを抽出するプロセスでは、多くの場合、特定のパラメーター名に基づいて照合する必要があります。以下は一般的な URL リンクです:

http://example.com/index.php?name=John&age=25&gender=male
ログイン後にコピー

name パラメータの値を抽出するなど、正規表現を使用してパラメータ値を照合できます。具体的なコードは次のとおりです。

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match('/name=(.*?)&/', $url, $matches);
echo $matches[1];
ログイン後にコピー

上記のコードは、preg_match 関数と正規表現 '/name=(.*?)&/' を使用して URL の name パラメーターと一致させ、一致した結果を保存します。結果は $matches 配列で出力されます。

2. 任意のパラメータに一致する

特定の URL パラメータに一致するだけでなく、すべての URL パラメータに一致するか、一部のパラメータのみに一致する必要もあります。この場合、パラメータと一致させるために「?name=value」または「&name=value」の形式を使用する必要があります。以下は例です:

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match_all('/(?:[?&])(.+?)=([^&]+)/', $url, $matches, PREG_SET_ORDER);
$params = array();
foreach ($matches as $match) {
    $params[$match[1]] = $match[2];
}
print_r($params);
ログイン後にコピー

上記のコードでは、preg_match_all 関数と正規表現 '/(?:[?&])(. ?)=(1 )/' を使用して URL 内のすべてのパラメーターを照合し、照合結果を $params 配列に保存して出力します。

3. URL パラメータの形式が正しいかどうかを判断する

URL パラメータを処理するときは、通常、パラメータの形式も判断する必要があります。たとえば、数値パラメータなどです。整数型である必要がある、または浮動小数点型である必要がある、文字列パラメータが特定の形式に準拠している必要があるなど。以下は、年齢パラメータが整数であるかどうかを判断する例です:

$url = 'http://example.com/index.php?name=John&age=25&gender=male';
preg_match('/age=([0-9]+)/', $url, $matches);
if (isset($matches[1]) && is_numeric($matches[1])) {
    echo "age is a number.";
} else {
    echo "age is not a number.";
}
ログイン後にコピー

上記のコードは、preg_match 関数と正規表現 '/age=([0-9])/' を使用して年齢を照合します。 URL のパラメータを指定し、 is_numeric 関数を使用して数値型かどうかを判断します。

4. 事前定義された文字クラスを使用する

URL パラメータを処理するときは、文字、数字、文字などの特定のパラメータ値と一致させるために、いくつかの事前定義された文字クラスを使用する必要もあります。ポイントなど一般的な事前定義文字クラスの一部を次に示します。

  • d: 数字と一致します
  • D: 数字以外の文字と一致します
  • w: 任意の 1 文字 (文字を含む) と一致します、数字、アンダースコア)
  • W: 単一文字以外の任意の文字と一致します
  • s: 任意の空白文字と一致します
  • S: 空白以外の任意の文字と一致します
  • . : 改行を除く任意の文字と一致します。

次は、name パラメータ値内の文字と数字を一致させる例です。

$url = 'http://example.com/index.php?name=John123&age=25&gender=male';
preg_match('/name=([w]+)/', $url, $matches);
echo $matches[1];
ログイン後にコピー

上記のコードでは、事前定義された文字クラスが使用されています。 ' /name=([w] )/' を使用して URL の name パラメーターと一致し、一致した結果を出力用に $matches 配列に保存します。

5. テンプレート言語と組み合わせて使用​​する

テンプレート言語を使用して Web サイトを開発する場合、多くの場合、特定の URL パラメーターに基づいて対応するコンテンツを表示する必要があります。この場合、正規表現はテンプレート言語と組み合わせて使用​​され、パラメータ値の高速なマッチングと処理を実現します。以下に例を示します。

$url = 'http://example.com/index.php?page=2';
$page = 0;
if (preg_match("/page=([0-9]+)/", $url, $matches)) {
    $page = $matches[1];
}

// 根据$page值显示特定的内容
if ($page == 1) {
    echo "显示第一页内容";
} elseif ($page == 2) {
    echo "显示第二页内容";
} elseif ($page == 3) {
    echo "显示第三页内容";
} else {
    echo "参数错误";
}
ログイン後にコピー

上記のコードは、preg_match 関数と正規表現 "/page=([0-9] )/" を使用して URL 内のページ パラメーターを照合し、一致した結果を保存します。結果は $page 変数になります。 $page 変数の値に応じて、対応するコンテンツが表示されます。

概要:

開発において、正規表現を使用して URL パラメータを照合することは非常に一般的な操作です。関連するスキルと方法を習得すると、URL を迅速に処理して抽出するのに役立ちます。パラメータを効率的に調整して開発効率を向上させます。上記は、PHP 正規表現戦闘: URL パラメーターのマッチングに関する関連する紹介とサンプル コードです。


  1. &

以上がPHP 正規表現の動作: URL パラメータの照合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles