2010-11-27 20 views
1

私は特定の電子メールを表示する自動システムを持っています。スパムボットが電子メールを受け取るのを防ぐために、電子メールの '@'記号の直前に「[削除]」という文字列を自動的に追加するPHPスクリプトを作成したいと考えています。PHPを使用して別の文字列の途中で文字列値を追加するにはどうすればよいですか?

substr_replaceでは置換文字列が元の文字列と同じ長さでなければならないため、strpos()は一度に1文字/シンボルのみを置き換えることができるため動作しません。私は、元の文字列から何も削除しないで、文字列のまったく新しい部分を追加することができる必要があります。[削除する]

どうすればよいですか?

答えて

0

preg_replace()preg_replace("/\@/", "[REMOVE THIS]@", $emailaddress)

+0

このように単純な置き換えでは、 'str_replace'で十分です。 – Michael

+0

私は単純な例を使用しましたが、正規表現に電子メールアドレスの前に置くことを確認するために追加することができます。しかし、電子メールを検証するための正規表現は私が今まで見た中で最悪です。 :) – Rahly

0

として、このような単純な:再び

$obfuscated_email = str_replace('@', '[REMOVE THIS]@', $real_email); 

やバック:つまり

$real_email = str_replace('[REMOVE THIS]', '', $obfuscated_email); 
1

[email protected]が名前になっ[REMOTE THIS] @site .com?

<?php 
$email = "[email protected]"; 
echo str_replace("@", "[REMOVE THIS]@", $email); 
?> 

それとも、あなたが使用することができます、あなたの電子メールで

http://www.wbwip.com/wbw/emailencoder.html

タイプは、エンコードされたバージョンを取得あなたのサイトにそれを置くと、それはあなたの適切な電子メールやボットを表示します。実際の結果をエコーし​​ますが、ちょうどそのコードとして、それをつかむことはできません。しかし、コードを検索しているボットは、コードが表示されます。

関連する問題