Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

forum mesajına youtube videosu gömmek

Konu, 'PHP' kısmında kurzon tarafından paylaşıldı.

  1. kurzon

    kurzon Yeni Üye

    Kayıt:
    24 Mart 2012
    Mesajlar:
    9
    Beğenilen Mesajlar:
    0
    Merhaba,

    Oluşturduğum bir mesajlaşma sistemine kullanıcıların youtube videosu ekleyebiliyor olması isteniyor. Bunun için youtube videosunun adresini yakalayan bir script oluşturdum ancak videoyu mesajın içinde nasıl gösterebileceğimi bilemiyorum. Aşağıdaki html kodu işimi görüyor, videoyu mesajın içinde gömülü olarak gösteriyor ama kullanıcının bu kodu görmesini istemiyorum ben. Hem kötü bir görüntü oluyor, hem de üzerinde oynayabiliyor.

    <iframe width='440' height='275' src='https://www.youtube.com/embed/xxxxx?rel=0&wmode=transparent'></iframe>

    Böyle bir durumda izlenen yol genelde nedir?
     
  2. Slothere

    Slothere Daimi Üye

    Kayıt:
    24 Nisan 2010
    Mesajlar:
    813
    Beğenilen Mesajlar:
    0
    Youtube videolarının altında bulunan ve sitenin verdiği embed kodunu incelersen soruna yanıt olur sanırım.

    Örnek içerik;

    http://www.youtube.com/watch?v=lUoyo1QNlpY

    Kod:
    <iframe width="560" height="315" src="http://www.youtube.com/embed/lUoyo1QNlpY" frameborder="0" allowfullscreen></iframe>
    
    // Sonradan ilave:

    Olayı yanlış anlamış olabilirim. Kaynaktan kullanıcının görüntülemesini istemiyorsan çeşitli html encode yöntemleri var. Fakat çok başarılı değiller. Çözmesi bilen birisinin 1dk sını almaz.
     
  3. Aristona

    Aristona Daimi Üye

    Kayıt:
    12 Eylül 2010
    Mesajlar:
    551
    Beğenilen Mesajlar:
    1
    Meslek:
    İşsiz
    Şehir:
    Narnia
    BBCode sınıfımda kullandığım fonksiyon.

    PHP:
    function tagYoutube($string)
            {
                
    $results = array();
                
    preg_match_all('#\[youtube\](.*?)\[\/youtube\]#'$string$results);
                
                foreach(
    $results[1] as $k => $v)
                {
                    if(
    substr($v028) != 'www.youtube.com/watch?v=')
                    {
                        
    $string str_replace('[youtube]' $v '[/youtube]''(Hatalı youtube linki)'$string);
                    }
                    else
                    {
                        
    $movieID substr($v2811);
                        
    $string str_replace('[youtube]' $v '[/youtube]''<div align="center"><iframe width="560" height="315" src="http://www.youtube.com/embed/' $movieID '" frameborder="0" allowfullscreen></iframe></div>'$string);
                    }
                }
                return 
    $string;
            }
    [youtube]Youtube linki[/youtube] olarak kullanabilirsin.

    Ayrıca http:// ve https:// protokollerini replace ile sil, karışıklık çıkmasın.