gebelik tüm bağlantıları değiştirin

2 Cevap php
$text = "Clip - http://depositfiles.com/files/8b5560fne Mp3 - 
    http://letitbit.net/download/4920.adaf494fbe2b15c34a4733f20/Madonna___The_Power_Of_Good_Bye.mp3.html 
    Madonna - The power of goodbye Your heart is not open, so I must go The spell has been broken...I 
    loved you so Freedom comes when you learn to let go Creation comes when you learn to say no You were 
    my lesson I had to learn I was your fortress you had to burn Pain is a warning that something's wrong 
    I pray to God that it won't be long Do ya wanna go higher? Chorus: There's nothing left to try 
    There's no place left to hide There's no greater power than the power of good-bye Your heart is not 
    open, so I must go The spell has been broken...I loved you so You were my lesson I had to learn I was 
    your fortress Chorus: There's nothing left to lose There's no more heart to bruise There's no greater 
    power than the power of good-bye Bridge: Learn to say good-bye I yearn to say good-bye Chorus: There's 
    nothing left to try There's no more places to hide There's no greater power than the power of good-bye 
    There's nothing left to lose There's no more heart to bruise There's no greater power than the power 
    of good-bye";

Nasıl bu metinde tamamen tüm bağlantıları kesmek mi?

2 Cevap

Böyle basit bir şey deneyebilirsiniz:

$text = preg_replace("#\S+://\S+#", "", $text);

Ama sonuç dizesini çift boşluk bırakacaktır. Bunu ele verebilir, ama biraz daha karmaşık olacaktı. Kaldırıldı metin geçerli URL'ler iseniz ben de kontrol yok. :/ Içeren bir şey / kaldırılır.

Saf bir yaklaşım:

preg_replace('/http[^\s]+/', "", $str)

"Http" ile başlar ve boşluk olmayan karakterden oluşur, boş bir dize ile herhangi bir dize değiştirir.

Bu, sadece http alıyoruz üstleniyor. Aksi takdirde, biraz daha az naif (ama yine de çoğunlukla naif):

preg_replace('#[a-z]+://[^\s]+#', "", $str)