İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

text içindeki email adreslerini sildirme

W

www_sozluk_net

Misafir
Evet arkadaşlar sorunum bu.


$mesaj="Merhaba arkadaşım benim mail adresim [email protected] ve bana ayrıca [email protected] adresindende ulasabilirsin";

bu bir deger ve form dan geliyor. içinde gördüğünüz gibi 2 tane mail adresi var metin içinde ve bu 1 de olabilir 10 da olabilir.

bu metin içinde ki mail adreslerini sildirmek için ben bir yontem duşumdum ve soyliyeyim.

önce metin içinde @ işaretini bulacağız @ işaretinden onceki ve sonraki ilk boşluğa kadar olan yerleri sileceğiz. tamam @ işaretinden sonra ki ilk boşlupa kadar olan ilk boğlupu yine explode ile yapabiliriz ama ya @ işaretinden onceki ilk boşluğa kadar olan kısmı nasıl alacağız ???

birde metin içnde 10 tane mail adresi var diyelim burada dongu nasıl yapacağız ???


bu benim duşundugum yontem di illaki daha kolay yontemler vardir bana biraz bu konuda yardımcı olursanız sevinirim.

illa kod yazınd emiyorum mantığını verirseniz sevinirim. ama kod konusundada biraz ip ucu verebilirseniz daha çok sevinirim.


kolay gelsin iyi çalışmalar.


(şimdi mesajı önizlemeye baktığımda farkettim ve bu forumda o olay var. mail adreslerini link haline çeviriyor. işte bu kod olabilir mesela ? bu nasıl yapılabilir )
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
$email_adressiz_metin = preg_replace("/^[A-Za-z0-9]([-_.]?[A-Za-z0-9])*@[A-Za-z0-9]([-.]?[A-Za-z0-9])*\.[A-Za-z]{2,4}$/", "", $email_adresli_metin);

yontem 2:

$email_adressiz_metin = preg_replace("/[ ]+(.*?)\@(.*?)[ ]+/si", "", $email_adresli_metin); // kaba yontem
 
W

www_sozluk_net

Misafir
maalesef hidayet arkadaşım bu ilk kod hiç tepki gostermiyor, ikincisine gelince o temizliyor ama fazla temizliyor onceki bir kaç kelimeyi de yanında goturuyor :)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
Hidayetin 1. kodu aslinda tamam, sadece basinda ve sonunda fazlalik var, fazlaliklari attim:

$email_adressiz_metin = preg_replace("/[A-Za-z0-9]([-_.]?[A-Za-z0-9])*@[A-Za-z0-9]([-.]?[A-Za-z0-9])*\.[A-Za-z]{2,4}/", "", $email_adresli_metin);
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
Kodlari denemedim :D
2. kod yer bitirir :D ilk boslugu bul ve hersey@hersey (bosluklu olsun olmasin) al gotur olmus.

1. kodu da soyle duzeltelim biraz kucuk olsun.

$email_adressiz_metin = preg_replace("/[a-z0-9]([-_.]?[a-z0-9])*@[a-z0-9]([-.]?[a-z0-9])*\.[a-z]{2,4}/si", "", $email_adresli_metin);
 
W

www_sozluk_net

Misafir
çok teşekkür ederim ilginiz için her ikinizede. kod çok güzel birşekilde çalışıyor.

hidayet eger mumkunse sana bir soru sormak istiyordum. bu senin en son verdigin kodda / dan sonra bir si var onun anlamı ne oluyor acaba ?

teşekkür ederim kolay gelsin.
 

hdogan

0
İyinet Üyesi
Katılım
14 Ekim 2004
Mesajlar
693
Reaction score
2
Konum
Ankara
i - büyük/küçük harf farketmeden eşleştirme
s - metin içinde yeni (alt) satıra geçme varsa eşleştirme yapabilmesi için

yani "s" kullanmaz isen ve e-posta adresinin bir kısmı metin içinde alt satırda ise bulamaz.

"i" kullanmamın nedeni ise PREG şablonunda bulunan A-Za-z gibi fazlalıkları kısaltmak için (yani şablonda büyük/küçük harf farketmesin diye A-Za-z yazılmıştı).
 
W

www_sozluk_net

Misafir
hmm bu da cok guzelmis. cok cok tesekkur ederim tekrar.

iyi calismalar
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst