mb_ereg()関数を使って正規表現によるパターンマッチング検索をします。
コード例
ソースコードの文字コードはUTF-8で保存します。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
$inputstr = '一般的にシロクマは北極に住んでいると思われがちだが、'
. 'シロクマはアラスカやグリーンランドにも住んでいる';
mb_regex_encoding("UTF-8");
$ret = mb_ereg('シロクマ', $inputstr);
if ($ret == 1) {
echo('パターンが見つかりました。<br/>');
} else {
echo('パターンは見つかりませんでした。<br/>');
}
$ret = mb_ereg('ペンギン', $inputstr);
if ($ret == 1) {
echo('パターンが見つかりました。<br/>');
} else {
echo('パターンは見つかりませんでした。<br/>');
}
$ret = mb_ereg("グ.*ランド", $inputstr);
if ($ret == 1) {
echo('パターンが見つかりました。<br/>');
} else {
echo('パターンは見つかりませんでした。<br/>');
}
?>
</body>
</html>
解説
下記のコードで入力文字列を準備します。
$inputstr = '一般的にシロクマは北極に住んでいると思われがちだが、そうではない。'
. 'シロクマはアラスカやグリーンランドにも住んでいる';
正規表現の文字エンコーディングを指定します。ここはソースコードの文字コードと同じUTF-8を指定します。
mb_regex_encoding("UTF-8");
mb_ereg()関数を呼び出し正規表現によるパターンマッチを実行します。mb_ereg()関数の引数が2つのときは、パターンに一致した場合はmb_ereg()関数は1を返します。戻り値を確認しパターンにマッチした場合はその旨のメッセージを表示します。
$ret = mb_ereg('シロクマ', $inputstr);
if ($ret == 1) {
echo('パターンが見つかりました。<br/>');
} else {
echo('パターンは見つかりませんでした。<br/>');
}
以下同様で3つのパターン("シロクマ","ペンギン","グ.*ランド")についてマッチするかを判定します。
実行結果
パターンが見つかりました。
パターンは見つかりませんでした。
パターンが見つかりました。
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。
最終更新日: 2024-01-06
作成日: 2011-01-31