PHP特集-PCLE正規表現関数
PCRE正規表現関数PCRE文字クラス\b語境界\dは任意の数字\sに一致任意の空白に一致し、例えばTABタブまたはスペース\tは1つのTABタブに一致する\wはアルファベットと数字を含む文字に一致するPCREはほとんどのPCREの例では、セパレータは1つ/を使用します.PCRE式の最後の区切り文字/後に、正規表現の動作を変更する修飾子を追加することができる.preg_match()文字列で一致するアイテムを検索するには、2つのパラメータが必要です:正規表現(partern)と文字列(string)
2.preg_quote()各正規表現構文の前にエスケープ文字、すなわち反斜線()を追加します.
3.preg_split()表現正規表現で文字列を区切る
4.preg_grep()
5.preg_replcae()フォーマット:mixed preg_replcae(mixed pattern,mixed replace,ent,mixed subject); この関数は、stringで式patternに一致する文字列をすべて式replacementに置き換えます.replacementにpatternを含む文字の一部が必要な場合は「()」を使用して記録できます.replacementでは「\1」でたとえば入力されていない文字を読み取るだけで分析できます.http:の文字があれば、URLとしてハイパーリンクを付けます.
6.preg_replace_callback()コールバック関数を使用して正規表現の検索と置換を実行
- <?php
- $email="[email protected]";
- echo preg_match("/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+([.a-zA-Z0-9_-]+)+[a-zA-Z0-9_-]$/",$email);
- ?>
2.preg_quote()各正規表現構文の前にエスケープ文字、すなわち反斜線()を追加します.
- <?php
- $string="$3000 ,^-^";
- echo preg_quote($string);
- ?>
3.preg_split()表現正規表現で文字列を区切る
- <?php
- $string="+ +++ ++++++++++++ +++ ";
- $fields=preg_split("/\+{1,}/",$string);
- foreach ($fields as $field) {
- echo $field."<br>";
- }
- ?>
4.preg_grep()
- <?php
- $goods=array(" "," "," "," ");
- // " " $item
- $item=preg_grep("/^ /",$goods);
- print_r($item);
- ?>
5.preg_replcae()フォーマット:mixed preg_replcae(mixed pattern,mixed replace,ent,mixed subject); この関数は、stringで式patternに一致する文字列をすべて式replacementに置き換えます.replacementにpatternを含む文字の一部が必要な場合は「()」を使用して記録できます.replacementでは「\1」でたとえば入力されていない文字を読み取るだけで分析できます.http:の文字があれば、URLとしてハイパーリンクを付けます.
- <?php
- $string=" http://www.ikang.com/";
- echo preg_replace("/http:\/\/(.*)\//","<a href=\"\${0}\">\${0}</a>",$string);
- ?>
6.preg_replace_callback()コールバック関数を使用して正規表現の検索と置換を実行
- <?php
- // ,
- function do_spam($matches){
- $pre_array=array('gg'=>' ','mm'=>' ','pp'=>' ');
- if (isset($pre_array[$matches[1]])){
- return $matches[1] . "(" . $pre_array[$matches[1]] . ")";
- }else {
- return $matches[1];
- }
- }
- //
- $string=" <spam>gg</spam> <spam>mm</spam> <spam>pp</spam> ";
- // <spam></spam>
- $new_string=preg_replace_callback("/<spam>(.*)<\/spam>/U",'do_spam',$string);
- print_r($new_string);
- ?>