phpspotの件の続報
phpspotの人は正規表現について語らないほうがいいのではを読まれたようで、記事の更新をされたようだが、まさに予想したとおりのphpspotメソッドとなっている。
僕が気づいた範囲での修正箇所は以下のとおり
- タイトル先頭に「訂正:」を追加
- 動作確認はしなかったが目視は行なった。目視ではわからなかったという弁明の追加
- 紹介された元の英語記事へのリンクの削除
- ソースコードに取り消し線
- 以前いろいろ言われた正規表現の解説ページに、注意書きと他サイトの解説へのリンク
- 問題の指摘はフォームから受付けるという告知
まず、元英文記事へのリンクを消した理由がわからない。元記事が読まれると何か不都合でもあるのだろうか。
元記事の人もコメント欄でいろいろ叩かれているけど、それに答えてスクリプトを手直ししたりしている。一旦何かについて「知っている」と書いたのであれば、それが正しくなるように努力するのが始めた者の責任ではないか。
あと「目視のチェックをした」というのは本当なのか。そんなこと明言して大丈夫なんだろうか。あれを目で見て何も違和感を感じなかった人が、正規表現の解説ページを書いているというのは問題。好意的にみれば、昔は理解できていて今はわからなくなった、という可能性もあるけど。
結局、今回の訂正でなにか正しさに近づいた点といえば、「PHP 正規表現 メール」の検索で出てくる正規表現解説というページに、 「下記、正規表現は本当に簡単なチェックで、厳密なチェックをしたい場合は別途検索エンジンなどで調べた方がいいでしょう。」と追記されたのと、別の解説へのリンクを二つ追加したこと。
この簡単なチェックもかなり間違ってると思うけれど、この間違った解説をたとえ「本当に簡単なチェック」と添えようと、phpspotのような影響力のあるページで出し続けることは問題だろう。以前も多くから突っ込まれているはずなのだが。そういうところが指摘を受付けないと書かれるゆえんではないか。どうしても自分のページで紹介しないといけないのなら、リンク先を勉強した上で自分なりの「厳密なチェック」を紹介すればいいのに。
末尾の「尚、サービスとして公開する際には実際にメールが届くかどうかをチェックするなどしてメールの存在有無を確かめましょう」もわからない。メールアドレスの形式チェックをするために実際にメールを送信しろと言っている?
phpspotメソッドにこういう指摘がある。
間違っていた部分は残さない.可能な限りうまく帳尻合わせてエントリを修正すること
- 場合によったらスミの方に情報先URLを掲載する程度で具体的に何が間違っていたのかなどは書かずにライトな対策で済ます
phpspotのKJさん、元の正規表現はどこがどう間違っていたんですか? 解説が正確じゃないことを認めてもその情報を載せ続けるのはなぜですか? 検索エンジンで上位に出てきてアクセスが多いページだからですか? たくさん人が見に来れば情報の真偽はどうでもいいの?
過去に間違いを指摘した人たちも、こんな感じで適当に流されてしまい、指摘を続ける気力をなくしたんだろうと思うし、こんな揉め事誰だって(もちろん僕だって)関わりたくないと思うけれど、これは書かずにはおれないよ。
自分の面子やアクセス数だけじゃなくて、それを読んだ読み手がどういう影響を受けるかも考えるべきなんじゃないかなあ。
なお、今も注釈つきで載り続けているコードはこれ。使っちゃだめよ。
$text = "mail@mail.com"; if (preg_match('/^[a-zA-Z0-9_.-]+?@[A-Za-z0-9_.-]+$/',$text)) { echo "正しいメールアドレスです"; } else { echo "正しくないメールアドレスです"; } ?>