PHP特集-PCLE正規表現関数


PCRE正規表現関数PCRE文字クラス\b語境界\dは任意の数字\sに一致任意の空白に一致し、例えばTABタブまたはスペース\tは1つのTABタブに一致する\wはアルファベットと数字を含む文字に一致するPCREはほとんどのPCREの例では、セパレータは1つ/を使用します.PCRE式の最後の区切り文字/後に、正規表現の動作を変更する修飾子を追加することができる.preg_match()文字列で一致するアイテムを検索するには、2つのパラメータが必要です:正規表現(partern)と文字列(string)

  
  
  
  
  1. <?php 
  2. $email="[email protected]"
  3. echo preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$email); 
  4. ?> 

2.preg_quote()各正規表現構文の前にエスケープ文字、すなわち反斜線()を追加します.

  
  
  
  
  1. <?php 
  2. $string="$3000  ,^-^"
  3. echo preg_quote($string); 
  4. ?> 

3.preg_split()表現正規表現で文字列を区切る

  
  
  
  
  1. <?php 
  2. $string="+ +++ ++++++++++++ +++ "
  3. $fields=preg_split("/\+{1,}/",$string); 
  4. foreach ($fields as $field) { 
  5.     echo $field."<br>"
  6. ?> 

4.preg_grep()

  
  
  
  
  1. <?php 
  2. $goods=array(" "," "," "," "); 
  3. // " " $item 
  4. $item=preg_grep("/^ /",$goods); 
  5. print_r($item); 
  6. ?> 

5.preg_replcae()フォーマット:mixed preg_replcae(mixed pattern,mixed replace,ent,mixed subject); この関数は、stringで式patternに一致する文字列をすべて式replacementに置き換えます.replacementにpatternを含む文字の一部が必要な場合は「()」を使用して記録できます.replacementでは「\1」でたとえば入力されていない文字を読み取るだけで分析できます.http:の文字があれば、URLとしてハイパーリンクを付けます.

  
  
  
  
  1. <?php 
  2. $string="  http://www.ikang.com/"
  3. echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>",$string); 
  4. ?> 

6.preg_replace_callback()コールバック関数を使用して正規表現の検索と置換を実行

  
  
  
  
  1. <?php 
  2. // ,  
  3. function do_spam($matches){ 
  4.     $pre_array=array('gg'=>' ','mm'=>' ','pp'=>' '); 
  5. if (isset($pre_array[$matches[1]])){ 
  6.     return $matches[1] . "(" . $pre_array[$matches[1]] . ")"
  7. }else { 
  8.     return $matches[1]; 
  9. //  
  10. $string=" <spam>gg</spam> <spam>mm</spam> <spam>pp</spam> "
  11. // <spam></spam>  
  12. $new_string=preg_replace_callback("/<spam>(.*)<\/spam>/U",'do_spam',$string); 
  13. print_r($new_string);    
  14. ?>