ホームページ  >  記事  >  バックエンド開発  >  Preg_match() による php 正規表現の使用法_PHP チュートリアル

Preg_match() による php 正規表現の使用法_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:14:371319ブラウズ

preg_match() を使用すると、文字列のルール一致を完了できます。 preg_match() 関数は、一致が見つかった場合は 1 を返し、そうでない場合は 0 を返します。オプションの 3 番目のパラメーターを使用すると、一致した部分を配列に保存できます。この機能は、データを検証するときに非常に役立ちます。

コードは次のとおりです コードをコピー

// パターン区切り文字の後の「i」は、大文字と小文字を区別しない検索を示します

if (preg_match ("/php/i", "PHP は最適な Web スクリプト言語です。")) {

print "一致するものが見つかりました。";

} 他 {

print "一致するものが見つかりませんでした。";

}

?>

現在時刻を取得する

コードは次のとおりです コードをコピー

//一致する必要がある文字列。 date 関数は現在時刻を返します。 「現在の時刻: 2012-04-20 07:31 am」

$content = "現在時刻:".date("Y-m-d h:ia");

//日付と時刻を一致させます。

if (preg_match ("/d{4}-d{2}-d{2} d{2}:d{2} [ap]m/", $content, $m))

{

echo "一致する時刻は:" .$m[0] "n"; //"2012-04-20 07:31 am"

}

//日付と時刻をそれぞれ取得します

if (preg_match ("/([d-]{10}) ([d:]{5} [ap]m)/", $content, $m))

{

echo "現在の日付は次のとおりです:" .$m[1] "//"2012-04-20"

echo "現在の時刻は:" .$m[2] "n";

}

?>

この例では、電子メール アドレスが正しい形式であることを確認します。次に、この正規表現によって表されるさまざまなルールを見てみましょう。

Google ホームページのタイトルを取得する

たとえば、Google ホームページのタイトル コンテンツを取得したい場合、コードは次のようになります:

コードは次のとおりですコードをコピー
$str = file_get_contents('http://www.google.com');
preg_match('/(.*)/', $str, $arr);
エコー $arr[1];
?>

URLからドメイン名を取得

コードは次のとおりですコードをコピー preg_match("/^(http://)?([^/]+)/i", "http://www.bKjia.c0m/index.html", $matches);
$host = $matches[2] // ホスト名から最後の 2 つのセグメントを取得します
; preg_match("/[^./]+.[^./]+$/", $host, $matches);
echo "ドメイン名は: {$matches[0]}n";
?>

preg_match($pattern,$string,$matcher) $pattern は /^(http://)?([^/]+)/i に対応し、$string は http://www.php.net/index .html、$match は一致した結果です。

一致が提供された場合は、検索結果が入力されます。 $matches[0] にはパターン全体に一致するテキストが含まれ、$matches[1] には括弧内の最初にキャプチャされたサブパターンに一致するテキストが含まれます。

$matches[0] には、パターン全体に一致するテキストが含まれます。 spring_r を使用して最初の $matches を出力しましょう:

コードは次のとおりです コードをコピー

配列 (
[0] => http://www.bKjia.c0m
[1] => http://
[2] => www.bKjia.c0m )


$matches[0] にはパターン全体に一致するテキストが含まれ、$matches[1] には最初にキャプチャされた括弧内のサブパターンに一致するテキストが含まれます。正規表現では、() はパターンを表します。パターンに一致し、この一致を取得します。取得された一致は、VBScript の SubMatches コレクションまたは JScript の $0 ~ $9 プロパティを使用して、生成された Matches コレクションから取得できます。つまり、配列内の添字 1 の値は、正規表現の /^(http://)?([^/]+)/i の最初の () の値です。配列添字 2 の値は類推によって推定されます。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/628982.html技術記事 preg_match() を使用すると、文字列一致ルールを完成させることができます。 preg_match() 関数は、一致が見つかった場合は 1 を返し、そうでない場合は 0 を返します。オプションの 3 番目のパラメーターもあります。これにより、...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。