$pattern = "/([\w-]+)@([\w\.-]+)\b/";これが、用意したパターンです。――だいたい、ここで「げっ、正規表現難しい。無理無理」とあきらめてしまう人が多いんですが、正直、そんな必要はありません。正規表現パターンで検索すると、メールアドレスとか、URLとか、割とよく使われるパターンを公開してくれている人はたくさんいるんです。そうしたパターンをコピーして利用すれば、とりあえずパターンが作れなくても正規表現は利用できます。それから少しずつ自分で勉強していけばいいんですよ。
$flg = preg_match_all($pattern,$data,$matchs);これがパターンマッチを実行している部分ですね。これ自体は、別に難しい物はありません。この$matchsという変数に、パターンマッチした結果が入っているのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<?php if ($_POST != null){ $url = $_POST['text1']; $lines = file($url); $data = implode($lines); // パターンマッチ $pattern = "/([\w-]+)@([\w\.-]+)\b/"; $flg = preg_match_all($pattern,$data,$matchs); if ($flg != false){ $result = ""; foreach($matchs[0] as $key => $val){ $result .= $val . "\n"; } } else { $result = "ないよ。"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>sample page</title> </head> <body> <h1>Hello PHP!</h1> <form method="post" action="./index.php"> <input type="text" name="text1" size="40" value="<?php echo htmlspecialchars($url); ?>"><br> <textarea name="area1" cols="30" rows="5" ><?php echo $result; ?></textarea><br> <input type="submit"> </form> <hr> </body> </html>
<< 前へ | 次へ >> |