PHP preg_replace
はじめに: PHPに関する知識、スキル、経験、および一部のPHPソースコードなどを紹介するPHP preg_replaceの詳細ページです。
class='pingjiaF' フレームボーダー='0' src='http://biancheng.dnbcw.info/pingjia.php?id=335091' スクロール='no'> preg_replace(PHP 3>= 3.0.9, PHP 4)
preg_replace -- 正規表現の検索と置換を実行します
説明
mixed preg_replace (混合パターン、混合置換、混合主語 [, int limit])
主語内のパターンを検索し、置換で置換します。 limit が指定されている場合は、limit の一致のみが置き換えられます。limit が省略されている場合、または値が -1 の場合は、すべての一致が置き換えられます。
replacement には、//n 形式または (PHP 4.0.4 以降) $n 形式の後方参照を含めることができますが、後者の方が優先されます。このような各参照は、n 番目にキャプチャされた括弧で囲まれたサブパターンに一致するテキストに置き換えられます。 n は 0 ~ 99 の値で、//0 または $0 はパターン全体と一致するテキストを指します。左かっこを左から右に数えて (1 から開始)、サブパターンの数を取得します。
数値による後方参照に続く置換パターン (つまり、一致するパターンの直後に続く数値) の場合、後方参照を表すためによく知られている //1 表記を使用することはできません。たとえば、//11 では、preg_replace() が //1 の後に数字 1 を続ける逆参照を求めるのか、//11 への逆参照を求めるのか混乱させます。この場合の解決策は、/${1}1 を使用することです。これにより、$1 の分離された後方参照が作成され、他の 1 は単なるリテラルとして残ります。
例 1. 数字が続く逆参照の使用法
php
$string = "2003 年 4 月 15 日"
$pattern = "/(/w+) (/d+), (/d+)/ i";
$replacement = "/${1}1,/$3";
print preg_replace($pattern, $replacement, $string);
/* 出力
======
April1,2003
*/
?>
一致するものが見つかった場合は、置換された件名が返され、そうでない場合は、元の変更されていない件名が返されます。
preg_replace() のすべてのパラメータ (limit を除く) は配列にすることができます。 pattern と replace の両方が配列の場合、それらのキーは配列内に出現する順序で処理されます。これは、インデックスの番号順と必ずしも同じではありません。どのパターンをどの置換で置き換えるかを識別するためにインデックスを使用する場合、preg_replace() を呼び出す前に配列を ksort() でソートする必要があります。
例 2. preg_replace() でのインデックス配列の使用
php
$string = "足の速い茶色のキツネが怠惰な犬を飛び越えました。"
$patterns[0] = "/quick/"; $patterns[1] = "/茶色/";
$patterns[2] = "/キツネ/";
$replacements[1] = "黒"; replaces[0] = "slow";
print preg_replace($patterns, $replacements, $string);
/* 出力
======
クマの黒人は怠惰な犬
を飛び越えました。 */
/* パターンと置換を ksort することで、
必要なものが得られます。 */
ksort($replacements)
print preg_replace($patterns, $replacements, $ string); );
/* 出力
======
遅いツキノワグマは怠惰な犬を飛び越えました
?>
subject が配列の場合、subject 内の各要素は実行されます。項目を検索して置換し、配列を返します。
pattern と replace が両方とも配列の場合、preg_replace() は、subject を検索して置換するためにそれらから値を取り出します。置換の値がパターンの値よりも少ない場合、空の文字列が残りの置換値として使用されます。 pattern が配列で、replacement が文字列である場合、この文字列は pattern の各値の置換値として使用されます。その逆は無意味です。
/e 修飾子により、 preg_replace() は置換引数を PHP コードとして処理します (適切な後方参照置換後)。ヒント: 置換によって有効な PHP コード文字列が形成されていることを確認してください。そうでない場合、PHP は preg_replace() を含む行で構文解析エラーを報告します。
例 3. 複数の値を置き換えます
$patterns = array ("/(19|20)(/d{2})-(/d{1,2})-(/d { 1,2})/",
"/^/s*{(/w+)}/s*=/");
$replace = array ("//3///4///1// 2 ", "$//1 =");
print preg_replace ($patterns, $replace, "{startDate} = 1999-5-27");
?>
この例では次のように出力されます:
$startDate = 5/27/1999
例 4. /e 修飾子の使用
preg_replace ("/(/?)(/w+)([^>]*>)/e",
"'//1'.strtoupper('//2').'//3 '",
$html_body);
?>
これにより、入力文字列内のすべての HTML タグが大文字になります。
「PHP preg_replace」のその他の関連記事》
J2EE を愛する Java Michael Jackson Video Station JSON オンライン ツール
http://biancheng.dnbcw.info/php/335091.html pageNo:10
ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
