1

ドキュメントから電話番号、電子メールアドレス、さらには連絡先アドレスなどの連絡先情報を効果的に削除する、php から使用できる優れたソリューションを知っている人はいますか?

アップデート

やあみんな、これが私がこれまでに思いついたものです。かなりうまくいきます。

function sanitizeContent($content)
    {       
        // emails - even containing white space characters like this 't e s t @ ba d . co m'
        $content = preg_replace('/([A-Za-x-0-9\s\_\.]{1,50})(?=@)@([A-Za-x-0-9\s\_\.]{1,50})/', '[email removed]', $content);       

        // urls
        $content = preg_replace('/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i', '[link removed]', $content);

        // phone numbers            
        $content = preg_replace('/(\d)?(\s|-|.|\/)?(\()?(\d){3}(\))?(\s|-|.|\/){1}(\d){3}(\s|-|.|\/){1}(\d){4}/', '[phone removed]', $content);
        $content = preg_replace('/[0-9\.\-\s\,\/(x|ext)]{5,50}/', '[phone removed]', $content);     

        // addresses????

        return $content;
    }

誰かがアドレスについて何か考えを持っていますか?私はおそらく、都市、州の郵便番号を検出し、その前に x 文字を取り除く方法を考え出すと考えています. 誤って一部のデータを破壊する可能性がありますが、開示するよりはましかもしれません。他の誰かがこれに遭遇したかどうか、私は本当に興味があります.

4

1 に答える 1

1

正規表現を使用します。

preg_replaceを使用してそれを行うことができます。

$pattern = "/[a-zA-Z]*[:\/\/]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/i";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);

メールの場合:

$pattern = "/[^@\s]*@[^@\s]*\.[^@\s]*/";
$replacement = "[removed]";
preg_replace($pattern, $replacement, $string);

URLの場合:

于 2010-11-08T20:23:22.137 に答える