私の理解が正しければ、ユーザーはお互いにメッセージを送信できますが、ユーザーが個人情報を含むメッセージを送信すると、その情報が見えすぎてしまうのではないかと心配しています。
したがって、メッセージのプレビューからこの情報を削除しようとしていると思います (ただし、メッセージを開いた場合はまだ利用可能ですか?)。
この場合、数字や電子メールのように見えるものをすべて削除する、非常にずさんな正規表現を使用できます。検閲されていないバージョンのメッセージが常に利用できるため、非個人情報を非表示にしても問題ありません。
私はこのようなものを使います(テストされていません):
# Take any string that contains an @ symbol and replace it with ...
# The @ symbol must be surrounded by at least one character on both sides
$message = preg_replace('/[^ ]+@[^ ]+/','...',$message); # for emails
# Take any string that contains only numbers, spaces and dashes, replace with ...
# Can optionally have a + before it.
$message = preg_replace('/\+?[0-9\- ]+/','...',$message); # for phone numbers
これは、メールや電話番号だけでなく、多くのものと一致します。また、思いもよらなかったメールや電話番号と一致しない場合もあります。これは、これらの種類の正規表現を記述する際の問題の 1 つです。