以前に収集した PHP の概要メモ_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:49:54
オリジナル
1067 人が閲覧しました

0002 その他

0003 isset() 変数が存在するかどうか

0004 boolean empty() は変数が存在するかどうかをチェックし、値が空でないか非 0 であるかを判断します

0005 void unset() は変数を破棄します

0006 header('Content-Type: text/html; charset=utf-8');

0007 method_exists($obj, $method) オブジェクトのメソッドが使用可能かどうかを判断します

0008 file_exists($file) ファイルが存在するかどうかを判定します

0009 function_exists();

0010 クラス_存在($クラス_名);

0011 gettype(); データ型を取得します

0012 set_magic_quotes_runtime() オフの場合は 0、オンの場合は 1 バックスラッシュまたは一重引用符が出現すると、システムとデータベースのセキュリティを保護するためにバックスラッシュが自動的に追加されます

0013 ini_set();

0014

0015 セキュリティ

0016 関数 strReplace($str)

0017

0018 $strResult = $str;

0019 if(!get_magic_quotes_gpc())//設定が有効かどうかを判断します

0020

0021 $strResult =addslashes($strResult);//SQL ステートメント内の特殊文字を変換します

0022 }

0023 $strResult を返します。

0024 }

0025

0026

0027 関数引用符($content)

0028

0029 //magic_quotes_gpc=Off の場合、処理を開始します

0030 if (!get_magic_quotes_gpc())

0031

0032 //$content が配列かどうかを判断します

0033 if (is_array($content))

0034

0035 //$content が配列の場合、その各要素を処理します

0036 foreach ($content を $key=>$value として)

0037

0038 $content[$key] =addlashes($value);

0039

0040 }

0041その他

0042

0043 //$content が配列でない場合、一度だけ処理されます

0044 ラッシュ($content)を追加します

0045 }

0046 }

0047 //$content に戻る

0048 $content を返します。

0049 }

0050

0051コード変換

0052 string mb_convert_encoding ( string $str , string $to_encoding [,mixed $from_encoding ] )

0053アイコンv();

0054

0055時間

0056 date_default_timezone_set("PRC");

0057 date("Y-m-d H:i:s");

0058 時間();

0059 date("Y-m-d H:i:s",time()+3600)

0060 ini_set('date.timezone', 'PRC');

0061 msec sec microtime() はタイムスタンプを秒単位で返しますexplode(' ', microtime())

0062

0063 魔法のメソッド

0064 __construct() オブジェクトをインスタンス化するとき、最初にオブジェクトのこのメソッドが呼び出されます。

0065 __destruct() このメソッドは、オブジェクトが削除されるか、オブジェクトの操作が終了するときに呼び出されます。

0066 存在しないプロパティを読み取ろうとしたときに __get() が呼び出されます。

0067 存在しないプロパティに値を書き込もうとすると、__set() が呼び出されます。

0068 __call() このメソッドは、オブジェクトに存在しないメソッドを呼び出そうとしたときに呼び出されます。

0069 オブジェクトを印刷するときに __toString() が呼び出されます

0070 オブジェクトのクローン作成時に __clone() が呼び出されます

0071 __isset()

0072 __unset()

0073 __autoload($classname)

0074 __sleep()

0075 __ウェイクアップ()

0076

0077 システム定数

0078 __FILE__ 現在のファイル名

0079 __LINE__ 現在の行番号

0080 __FUNCTION__ 現在の関数名

0081 __CLASS__ 現在のクラス名

0082 __METHOD__ 現在のオブジェクトのメソッド名

0083 PHP_OS 現在のシステム

0084 PHP_VERSION PHP バージョン

0085 DIRECTORY_SEPARATOR はシステムに従ってディレクトリ区切り文字 /

を決定します

0086 PATH_SEPARATOR は、システムに従って環境変数のディレクトリ リスト区切り文字を決定します。

0087 E_エラー 1

0088 E_警告 2

0089 E_PARSE 4

0090 E_通知 8

0091 M_PI 3.141592

0092 $_サーバー

0093 $_ENV 実行環境によってスクリプトに送信される変数

0094 $_GET

0095 $_POST

0096 $_リクエスト

0097 $_FILES

0098 $_クッキー

0099 $_セッション

0100 $_GLOBALS

0101

0102出力

0103 echo //1つ以上の文字列を出力します

0104 print //文字列を出力する

0105 print_r() //変数に関するわかりやすい情報を出力します。

0106 var_dump() //変数関連情報を出力します

0107 var_export() //変数の文字列表現を出力または返します

0108 Printf("%.1f",$num) //フォーマットされた文字列を出力します

0109 sprintf() //フォーマットされた文字列を返す

0110

0111 エラー処理

0112 @1/0

0113 error_reporting(E_ALL) はすべてのエラーを表示します

0114 エラー報告(0)

0115trigger_error("ゼロで除算できません"、E_USER_ERROR);

0116 試してみる

0117

0118 throw new Exception("実行に失敗しました");

0119 }

0120 catch (例外 $ex)

0121

0122 エコー $ex

0123 }

0124

0125 文字列処理

0126 stringrim("eee")rim('ffffe','e') //ltrim rtrim

0127 arrayexplode(".", "fff.ff.f") 指定された文字に従って切り取ります

0128 String implode(".", $array) エイリアス: join 指定された文字に従って配列値データを結合します

0129 array str_split("eeeeeeee",4) 文字列を長さで分割します

0130 array split("-","fff-ff-f") 指定された文字に従って分割します

0131     int strlen('ffffffff')  取字符长度 

0132     string substr ( string $string , int $start [, int $length ] ) 

0133         substr($a,-2, 2) 截取字符 

0134     int substr_count($text, 'is') 字符串出现的次数 

0135     string strstr($text, 'h') 第一次出现h后的字符串   //别名:strchr 

0136     int strpos($text, 'h') 第一次出现h的位置 

0137     strrpos();最后一次出现h的位置 

0138     str_replace('a', 'ttt', $t) 把$t里的'a'替换为'ttt'

0139     strtr($t,'is','ppp') 把$t中'is'替换成'ppp'

0140         strtr("hi all, I said hello", array("hello" => "hi")) 把'hello'转换成'hi'

0141     string md5_file('1.txt',false) 文件数据md5加密 

0142     int strcmp(string str1, string str2) 字符串比较 

0143     int strcasecmp(string str1, string str2) 忽略大小写 

0144     string str_pad($i, 10, "-=", STR_PAD_LEFT) 在原字符左边补'-=',直到新字符串长度为10 

0145         STR_PAD_RIGHT 

0146         STR_PAD_BOTH 

0147     string str_repeat('1', 5) 重复5个1 

0148     void parse_str('id=11'); echo $id; 将字串符解析为变量 

0149     array preg_grep("/^(\d+)?\.\d+$/", array(11.2,11,11.2)) 匹配数据 

0150     array preg_split ("/[\s,]+/", "hypertext language,programming"); 按指定的字符切割 

0151     array pathinfo(string path [, int options]) 返回文件路径的信息 

0152     string basename ( string path [, string suffix] ) 返回路径中的文件名部分 

0153     string dirname ( string path )  $_SERVER[PHP_SELF]  返回路径中的目录部分 

0154     string nl2br("foo isn't\n bar") "foo isn't
bar" 把换行转成
 

0155     string chr ( int ascii )    * 

0156     mixed str_word_count ( string string [, int format [, string charlist]] ) 

0157     string str_shuffle ('abc') 打乱字符串顺序 

0158     string strrev($str) *         翻转一个字符串 

0159     string strtolower($str) *     将字符串 $str 的字符全部转换为小写的 

0160     string strtoupper($str) *     将字符串 $str 的字符全部转换为大写的 

0161     string ucfirst ($str)   *       将字符串 $str 的第一个单词的首字母变为大写。 

0162     string ucwords($str)    *        将字符串 $str 的每个单词的首字母变为大写。 

0163   

0164     string addslashes("I'm") I\'m 使用反斜线引用字符串 这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符) 

0165     string stripcslashes("I\'m") I'm 将用addslashes()函数处理后的字符串返回原样 

0166     strip_tags("

tt

", '

') 去除html、xml、php标记,第二个参数用来保留标记 

0167     string urlencode(string str) 

0168     string urldecode(string str) 

0169     string htmlspecialchars("Test", ENT_QUOTES) 转换特殊字符为HTML字符编码 

0170         <a href='test'>Test</a> 

0171 ENT_COMPAT – 一重引用符ではなく二重引用符をエンコードします

0172 ENT_QUOTES – 一重引用符と二重引用符をエンコードします

0173 ENT_NOQUOTES – 一重引用符または二重引用符をエンコードしないでください

0174 String htmlentities('

ff

', ENT_QUOTES) は特殊文字を HTML 文字エンコーディングに変換します。中国語の文字は文字化けに変換されます

0175

0176 配列処理

0177 int count(mixed var [, int mode] ) エイリアス: sizeof() は配列の長さを受け取ります

0178 String implode(".", $array) エイリアス: join 指定された文字に従って配列値データを結合します

0179 arrayexplode(".", "fff.ff.f") 指定された文字に従って切り取ります

0180 array range(0, 6, 2) 戻り値 array array(0,2,4,6) 最初のパラメータは開始番号、2 番目のパラメータは終了番号、3 番目のパラメータはデータ増分ステップサイズです

0181 int array_push($a, "3", 1) '3' と '1' を $a にプッシュし、1 つ以上のユニットを配列の末尾にプッシュ (プッシュ)、2 番目のパラメーターは入力データのプッシュから始まります

0182 void unset (混合変数 [, 混合変数 [, ...]] )

0183 array array_pad ($a, 5, 's') は、's' を使用して配列を指定された長さまでパディングします

0184 bool shuffle (array $array) 配列をシャッフルします

0185 Mixed array_rand (array input [, int num_req]) 配列から 1 つ以上のユニットのインデックスまたはキー名をランダムに削除します

0186 array array_count_values (配列入力) は、配列内のすべての値の出現数をカウントします

0187 array array_combine (配列キー、配列値) は、1 つの配列の値をキー名として使用し、別の配列の値をその値として使用して、配列を作成します

0188 bool array_key_exists (混合キー、配列検索) 指定されたキー名またはインデックスが配列内に存在するかどうかを確認します

0189 Mixed array_search (mixed needle, array haystack [, bool strict] ) は配列内の指定された値を検索し、成功した場合は対応するキー名を返します

0190 bool is_array (混合変数)

0191 bool in_array (mixed needle, array haystack [, bool strict] ) は、配列内に特定の値が存在するかどうかをチェックします

0192 数値 array_sum (array 配列) は配列内のすべての値の合計を計算します

0193 array array_unique (array 配列) は配列内の重複した値を削除します

0194 混合リセット (配列 & 配列) は配列の内部ポインターを最初のユニットにポイントします

0195 混合電流 (アレイ&アレイ)

0196 混合次 (配列 & 配列)

0197 混合前 (配列 & 配列)

0198 混合エンド (配列&配列)

0199 混合キー (配列&配列)

0200 array array_keys (array input [,mixed search_value[,bool strict]]) 配列内のすべてのキー名を返します

0201 array array_values (配列入力) は配列内のすべての値を返します

0202 bool print_r (混合式 [, bool return] )

0203 void var_dump (混合式 [, 混合式 [, ...]] )

0204 int array_unshift ( array &array,mixed var [,mixed ...] ) は、配列の先頭に 1 つ以上のセルを挿入します

0205 混合 array_shift (array &array) は、配列の先頭にあるユニットを配列の外に移動します

0206 混合 array_pop (array &array) 配列の最後のユニットをポップします (スタックをポップします)

0207 array array_splice (array $input, int offset [, int length [, array replace]] ) 配列の一部を削除し、他の値に置換します

0208 array array_merge ( array array1 [, array array2 [, array ...]] ) 1 つ以上の配列をマージします

0209 array array_flip (array trans) は配列内のキーと値を交換します

0210 int extract( array var_array [, int extract_type [, string prefix]] ) 配列から現​​在のシンボルテーブルに変数をインポートします

0211 配列コンパクト (混合変数名 [, 混合 ...] ) は、変数名とその値を含む配列を作成します

0212 bool sort (array &array [, int sort_flags] ) 最小値から最大値へ並べ替えます

0213 bool natsort($a) 「自然ソート」アルゴリズムを使用して配列をソートします

0214 bool rsort (array &array [, int sort_flags] ) は配列を逆順 (最高位から最低位) にソートします

0215 bool asort (array &array [, int sort_flags]) は配列をソートし、インデックス関係を維持します

0216 bool arsort ( array &array [, int sort_flags] ) 配列を逆ソートし、インデックス関係を維持します

0217 bool ksort (array &array [, int sort_flags]) 配列をキー名でソートします

0218 bool krsort (array &array [, int sort_flags]) 配列をキー名で逆順にソートします

0219 array array_filter (array input [, callback callback] ) は、コールバック関数を使用して配列内のセルをフィルターします

0220 bool array_walk (array &array, callback funcname [,mixed userdata] ) は配列内の各メンバーにユーザー関数を適用します

0221 array array_map ( callback callback, array arr1 [, array ...] ) は、指定された配列のセルにコールバック関数を適用します

0222 array array_fill ( int start_index, int num,mi​​xed value ) は、指定された値で配列を埋めます

0223 array_fill(5, 3, 'a')-->array(5=>'a',6=>'a',7=>'a')

0224 array array_chunk (array input, int size [, bool prepare_keys] ) は配列を複数に分割します

0225

0226 スマート

0227 テンプレートエンジンは分析しません

0228

0229

0230 関数 t() {

0231

0232

0233

0234 設定ファイルの読み取り

0235

0236

0237

0238 ファイルをインポートする

0239

0240 指定されたディレクトリ内の $trusted_dir ファイル

0241 テンプレート出力データをキャプチャする

0242

0243

0244

0245

0246 ループ

0247

0248 <{$News_IN[loop].NewsID}> 0249

0250

0251

0252

0253

0254

0255

0256

0257

0258 ニュース番号: <{$newsID.newsID}>

0259 ニュース コンテンツ:<{$newsID.newsTitle}>

0260

0261 判決

0262

0263 1111

0264

0265 22222222

0266

0267 時間

0268 {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

0269 %Y 年 %m 月 %d 日のコードが文字化けしています

0270

0271 プラグインの変更: plugins/modifier.date_format.php

0272 $format = mb_convert_encoding($format,'gbk','utf-8');

0273 return mb_convert_encoding(strftime($format, $timestamp),'utf-8','gbk');

0274

0275 部分的にキャッシュされていません

0276 html:

0277

0278 ?

0279

0280

0281php:

0282 $smarty->register_block('cacheless', 'smarty_block_dynamic', false) ;//true: キャッシュ、false: キャッシュなし

0283 関数 Smarty_block_dynamic($param, $content, &$smarty)

0284

0285 $content を返します。

0286 }

0287

0288php:

0289 Function insert_kk()//メソッド名の前に「insert」が必要です

0290

0291 戻り日('Y-m-d H:i:s');

0292 }

0293 html:

0294

0295 カスタムメソッド

0296 登録方法

0297php

0298 $smarty->register_function('test1', 'test');

0299 機能テスト($p)

0300

0301 「ffffffffff」を返します。

0302

0303 html:

0304

0305 ------------------------------------------------

0306 メソッドのカスタマイズ

0307 プラグインファイルメソッド定義方法

0308 function.test.php ファイルは plugins ディレクトリに保存されており、メソッド名は次のとおりです:smarty_function_test($params, &$smarty)

0309 関数 Smarty_function_test($params, &$smarty)

0310

0311

0312

0313 HTML 呼び出し:

0314

0315 ------------------------------------------------ ----

0316 挿入方法

0317 プラグイン ファイル: insert.kk.php ファイルは plugins ディレクトリに保存されます

0318 関数 Smarty_insert_kk()

0319

0320 戻り日('Y-m-d H:i:s');

0321

0322php:

0323 function insert_kk()//メソッド名の前に「insert」が必要です

0324

0325 戻り日('Y-m-d H:i:s');

0326

0327 html:

0328

0329 ------------------------------------------------ -

0330 パイプキャラクターのカスタマイズ方法

0331 プラグインファイルメソッド定義方法

0332 modifier.test.php ファイルは plugins ディレクトリに存在し、メソッド名は function Smarty_modifier_test($str, $str2) です

0333 関数 Smarty_modifier_test($str, $str2)

0334

0335

0336

0337 HTML 呼び出し:

0338

0339

0340php:

0341 関数 eee($a)

0342

0343

0344

0345 html:

0346

0347 if ステートメント

0348 eq は等しい、

0349 ne と neq は等しくありません、

0350 gt は

より大きい

0351 gte、ge は以上です、

0352 lte、le は以下です、

0353 不正解です。MOD が必要です。

0354 は div by を特定の数で割ることができるかどうかです。

0355は偶数であるかどうかさえ[ではない]です、

0356 $a は $b によっても[ではない]

0357は奇数かどうかは奇数です

0358 $a は $b と奇数ではない

0359

0360 XML

0361サックス

0362 xml:

0363 <--?xml version="1.0" encoder="utf-8"?-->

0364

0365

0366

0367

0368

0369

0370

0371 _

0372 _

0373

0374

0375

0376

0377

0378 出版者 

0379  

0380  

0381 php:

0382 $g_books = array(); 

0383 $g_elem = null; 

0384

0385 function startElement( $parser, $name, $attrs )

0386 {

0387 グローバル $g_books、$g_elem; 

0388 if ( $name == 'BOOK' ) $g_books []= array(); 

0389 $g_elem = $name; 

0390 }

0391

0392 関数 endElement( $parser, $name )

0393 {

0394 グローバル $g_elem; 

0395 $g_elem = null; 

0396 }

0397

0398 関数 textData( $parser, $text )

0399 {

0400 グローバル $g_books、$g_elem; 

0401 if ( $g_elem == '著者' ||

0402 $g_elem == 'パブリッシャー' || 

0403 $g_elem == 'TITLE' )

0404 {

0405 $g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text; 

0406 }

0407 }

0408

0409 $parser = xml_parser_create(); 

0410

0411 xml_set_element_handler( $parser, "startElement", "endElement" ); 

0412 xml_set_character_data_handler( $parser, "textData" ); 

0413

0414 $f = fopen( '1.xml', 'r' ); 

0415

0416 while($data = fread( $f, 4096 ))

0417 {

0418 xml_parse( $parser, $data ); 

0419 }

0420

0421 xml_parser_free( $parser ); 

0422

0423 foreach( $g_books as $book )

0424 {

0425 echo $book['TITLE']." - ".$book['AUTHOR']." - "; 

0426 echo $book['PUBLISHER']."
"; 

0427 }

0428 DomDocument()

0429 xml:

0430 <--?xml version="1.0" encoding="utf-8"?--> 

0431 <書籍> 

0432 <本> 

0433 <著者>ジャック・ヘリントン 

0434 PHP ハック 

0435 <出版社>オライリー 

0436  

0437 <本> 

0438 <著者>ジャック・ヘリントン 

0439 ポッドキャスティングのハック 

0440 <出版社>オライリー 

0441  

0442  

0443 著者 

0444 标题 

0445 出版者 

0446  

0447  

0448 php读取:

0449 $doc = new DOMDocument(); 

0450 $doc->load( "1.xml"); 

0451

0452 $books = $doc->getElementsByTagName( "book" ); 

0453 foreach( $books as $book )

0454 {

0455 $authors = $book->getElementsByTagName( "author" ); 

0456 $author = $authors->item(0)->nodeValue; 

0457

0458 $publishers = $book->getElementsByTagName( "publisher" ); 

0459 $publisher = $publishers->item(0)->nodeValue; 

0460

0461 $titles = $book->getElementsByTagName( "title" ); 

0462 $title = $titles->item(0)->nodeValue; 

0463

0464 echo "$title - $author - $publisher
"; 

0465 }

0466 php生成:

0467 $books = array(); 

0468 $books [] = array(

0469 'タイトル' => 「PHP ハック」、

0470 '著者' => 「ジャック・ヘリントン」、

0471 '出版社' => 「オライリー」

0472 ); 

0473 $books [] = array(

0474 'タイトル' => 「ポッドキャスティングのハック」、

0475 '著者' => 「ジャック・ヘリントン」、

0476 '出版社' => 「オライリー」

0477 ); 

0478

0479 $doc = new DOMDocument(); 

0480 $doc->formatOutput = true; 

0481

0482 $r = $doc->createElement( "books" ); 

0483 $doc->appendChild( $r ); 

0484

0485 foreach( $books として $book )

0486 {

0487 $b = $doc->createElement( "book" ); 

0488 $author = $doc->createElement( "author" ); 

0489 $author->appendChild($doc->createTextNode( $book['author'] )); 

0490 $b->appendChild( $author ); 

0491

0492 $title = $doc->createElement( "title" ); 

0493 $title->appendChild($doc->createTextNode( $book['title'] )); 

0494 $b->appendChild( $title ); 

0495

0496 $publisher = $doc->createElement( "publisher" ); 

0497 $publisher->appendChild($doc->createTextNode( $book['publisher'] )); 

0498 $b->appendChild( $publisher ); 

0499 $r->appendChild( $b ); 

0500 }

0501

0502 echo $doc->saveXML(); 

0503 echo $doc->save('222.xml');

0504 SimpleXML

0505 xml:

0506

0507

0508 _

0509

0510 _

0511

0512

0513php:

0514 $xml = new SimpleXMLElement('1.xml', NULL, TRUE);

0515 echo $xml->book[0]->author."___".$xml->book[0]->title."___".$xml->book[0]-> ;出版社

0516

0517 レギュラー

0518 ereg シリーズの正規表現には区切り文字が必要ありません。preg シリーズの正規表現のみが区切り文字を選択できます。たとえば、通常は / 記号を使用します。ただし、一致する必要がある / がある場合は、/ で表す必要があります。 / が複数回出現する必要がある場合は、 | などの他の区切り文字を使用できます。

0519

0520

0521 通常の特殊文字

0522 . + * [ ^ ] { } = !

0523 はアトム (英語の文字などの通常の文字) で構成されます。

0524 メタ​​キャラクター (特殊な機能を持つ文字)

0525 パターン修正文字

0526 正規表現には少なくとも 1 つのアトムが含まれています

0527

0528 すべての記号の説明

0529 次の文字を特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字としてマークします。たとえば、「n」は文字「n」と一致します。 「n」は改行文字に一致します。シーケンス「\」は「」に一致し、「(」は「(」に一致します。

0530 ^ 入力文字列の先頭と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は 'n' または 'r' の後の位置にも一致します。

0531 $ 入力文字列の終了位置と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は 'n' または 'r' の前の位置にも一致します。

0532 * 直前の部分式と 0 回以上一致します。たとえば、zo* は「z」と「zoo」に一致します。 * {0,} に相当します。

0533 + 前の部分式と 1 回以上一致します。たとえば、「zo+」は「zo」と「zoo」には一致しますが、「z」には一致しません。 + は {1,} と同等です。

0534 ? 直前の部分式に 0 回または 1 回一致します。たとえば、「do(es)?」は「do」または「does」の「do」と一致します。 ? {0,1} に相当します。

0535 {n} n は負ではない整数です。特定の回数 n 回一致します。たとえば、「o{2}」は「Bob」の「o」とは一致しませんが、「food」の両方の「o」には一致します。

0536 {n,} n は負でない整数です。少なくとも n 回一致します。たとえば、「o{2,}」は「Bob」の「o」とは一致しませんが、「foooood」のすべての「o」と一致します。 「o{1,}」は「o+」と同等です。 「o{0,}」は「o*」と同等です。

0537 {n,m} m と n は両方とも非負の整数であり、n

0538 ? 文字が他の修飾子 (*、+、?、{n}、{n,}、{n,m}) の直後にある場合、一致パターンは非貪欲です。非貪欲モードは検索文字列の可能な限り少ない部分と一致しますが、デフォルトの貪欲モードは検索文字列の可能な限り多くの部分と一致します。たとえば、文字列「oooo」の場合、「o+?」は単一の「o」に一致しますが、「o+」はすべての「o」に一致します。

0539 . 「n」を除く任意の 1 文字と一致します。 「n」を含む任意の文字と一致するには、「[.n]」のようなパターンを使用します。

0540 (パターン) パターンを一致させ、この一致を取得します。取得された一致は、VBScript の SubMatches コレクションまたは JScript の $0 ~ $9 プロパティを使用して、生成された Matches コレクションから取得できます。括弧文字と一致させるには、「(」または「)」を使用します。

0541 (?:pattern) はパターンに一致しますが、一致結果が得られません。これは、これは非検索一致であり、後で使用するために保存されないことを意味します。これは、「または」文字 (|) を使用してパターンの一部を結合する場合に便利です。たとえば、「industr(?:y|ies)」は「industry|industries」より短い式です。

0542 (?=パターン) 前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?=95|98|NT|2000)」は、「Windows 2000」の「Windows」には一致しますが、「Windows 3.1」の「Windows」には一致しません。プリフェッチでは文字は消費されません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます。

0543 (?!pattern) 否定検索。pattern に一致しない文字列の先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「Windows (?!95|98|NT|2000)」は、「Windows 3.1」の「Windows」と一致しますが、「Windows 2000」の「Windows」とは一致しません。プリフェッチは文字を消費しません。つまり、一致が発生した後、次の一致の検索は、プリフェッチを含む文字の後に開始されるのではなく、最後の一致の直後に開始されます

0544 x|y は x または y と一致します。たとえば、「z|food」は「z」または「food」と一致します。 '(z|f)ood' は、「zood」または「food」と一致します。

0545 [xyz] 文字セット。含まれている文字のいずれかと一致します。たとえば、「[abc]」は「plain」の「a」と一致します。

0546 [^xyz] 負の値の文字セット。含まれていない任意の文字と一致します。たとえば、「[^abc]」は「plain」の「p」と一致します。

0547 [a-z] 文字範囲。指定された範囲内の任意の文字と一致します。たとえば、「[a-z]」は、「a」から「z」の範囲内の任意の小文字のアルファベット文字と一致します。

0548 [^a-z] 負の文字範囲。指定された範囲内にない任意の文字と一致します。たとえば、「[^a-z]」は、「a」から「z」の範囲にない任意の文字と一致します。

0549 b は、単語とスペースの間の位置を指す単語境界に一致します。たとえば、「erb」は「never」の「er」と一致しますが、「動詞」の「er」とは一致しません。

0550 B 単語以外の境界と一致します。 「erB」は「動詞」の「er」と一致しますが、「never」の「er」とは一致しません。

0551 cx は、x で指定された制御文字と一致します。たとえば、cM は Control-M または復帰文字と一致します。 x の値は、A ~ Z または a ~ z のいずれかでなければなりません。それ以外の場合、c はリテラルの「c」文字として扱われます。

0552 d は数字と一致します。 [0-9]に相当します。

0553 D は数字以外の文字と一致します。 [^0-9] と同等。

0554 f はフォーム フィードと一致します。 x0c および cL に相当します。

0555 n は改行文字と一致します。 x0a および cJ に相当します。

0556 r は復帰文字と一致します。 x0d および cM に相当します。

0557 は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【fnrtv】に相当。

0558 S は空白以外の任意の文字に一致します。 [^ fnrtv] に相当します。

0559 t はタブ文字と一致します。 x09 および cI に相当します。

0560 v は垂直タブ文字と一致します。 x0b および cK に相当します。

0561 w アンダースコアを含む任意の単語文字と一致します。 「[A-Za-z0-9_]」と同等。

0562 W は単語以外の文字に一致します。 「[^A-Za-z0-9_]」と同等。

0563 xn は n と一致します。n は 16 進数のエスケープ値です。 16 進数のエスケープ値は、正確に 2 桁の長さである必要があります。たとえば、「x41」は「A」と一致します。 「x041」は「x04」および「1」と同等です。 ASCII エンコーディングは正規表現で使用できます。

0564 num は num と一致します。ここで、num は正の整数です。取得した一致への参照。たとえば、「(.)1」は、連続する 2 つの同一の文字に一致します。

0565 n は、8 進エスケープ値または後方参照を識別します。 n の前に少なくとも n 個のフェッチされた部分式がある場合、n は後方参照になります。それ以外の場合、n が 8 進数 (0 ~ 7) の場合、n は 8 進数のエスケープ値になります。

0566 nm は、8 進エスケープ値または後方参照を識別します。 nm の前に少なくとも nm 個の取得可能な部分式がある場合、nm は後方参照になります。 nm の前に少なくとも n が取得されている場合、n は後方参照であり、その後にリテラル m が続きます。前述の条件がいずれも満たされない場合、n と m が両方とも 8 進数 (0 ~ 7) の場合

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート