ユーザーが連絡先番号/電子メールを他のユーザーにメールで送信するのを停止する必要があるWebサイトがあります。
私はこれを以下で使用していますが、私がやりたいことをしていません..すべてのシナリオに一致しています
public function clean_email($text){
$pattern = '/\w+[\w-\.]*(\@\w+((-\w+)|(\w*))\.[a-z]{2,3})/i';
preg_match($pattern, $text, $matches);
return (isset($matches[1])) ? str_replace($matches[1],
"[********]", $text) : $text;
}
public function clean_phone($text){
$pattern = '/(\d{3}|\d{4})|(\d{3,+})/i';
preg_match($pattern, $text, $matches);
return (isset($matches[1])) ? str_replace($matches[1],
"[********]", $text) : $text;
}
メール本文中の電話番号を識別するために preg_replace を使用しようと考えていますが、電話番号は以下のようにさまざまな方法で記述できることを認識しています。
0433 765 888
0433765888
+61433765888
+610433765888
+61 02 9876 0987
+61 0298760987
+610298760987
それらすべてを識別するために単一の preg_replace パターンを書くことは可能ですか?
メールアドレスについても同じことを行う必要があり、メールテキストで見つかったすべてのメールアドレスで[検閲済み]に置き換えたい. つまり
mlanXXX@hotmail.com
mlanXXX AT hotmail.com
運が良ければ ..