Autor Zpráva
Ikki
Profil
Zdravím,

narazil jsem na takovou zajímavou věc a potřebuji poradit.
Facebook pro Livestream využívá sdílení přes IFRAME, jenže originální link nepodporuje přehrávání na mobilních zařízeních a je potřeba do odkazu přidat "m.facebook". Jelikož odkazy nechávám zapisovat do databáze, tak bych se chtěl zeptat zda je možnost, jak selectnout zvolený odkaz a upravit jej podle zařízení. Tedy pokud budu na mobilním zařízení, tak se odkaz pro stream změní na výše uvedenou variantu.

Děkuji.
Keeehi
Profil
Ikki:
Ano, možné to je. S čím konkrétně máš problém? Detekce mobilu, vyhledání a nahrazení v řetězci?
Ikki
Profil
Problém mám převážně s tím, že daný odkaz vypisuje podle getnutého ID v tabulce (id, odkaz), ten následně hodím do echa "echo $odkaz" a teď potřebuji aby v podmínce (mám podmínku useragenta na detekci zařízení) detekce mobilu byla v případě detekovaného mobile device upravená verze.

if(!mobiledevice){//normalní odkaz}else{//upravenýodkaz}

Nevím jestli jsem to dobře popsal, ale snad se chápeme :/
Keeehi
Profil
Ikki:
To nebude problém. Jen bych potřeboval vědět přesný příklad toho, co je v proměnné odkaz. Jeden z těch uložených řetězců.
Ikki
Profil
Tohle je odkaz, který mi daroval FB
<iframe src="https://facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fikkinator%2Fvideos%2F657700677920329%2F&show_text=0&width=267" width="267" height="476" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true"></iframe>

a po změně by měl vypdat nějak takto, asi;

<iframe src="https://m.facebook.com/plugins/video.php?href=https%3A%2F%2Fwww.facebook.com%2Fikkinator%2Fvideos%2F657700677920329%2F&show_text=0&width=267" width="267" height="476" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowTransparency="true" allowFullScreen="true"></iframe>
Keeehi
Profil
To není odkaz nýbrž HTML kód ale budiž.
echo preg_replace ('~facebook\.com~' , 'm.facebook.com', $odkaz, 1);
Tohle nahradí první a jedině první výskyt řetězce facebook.com v proměnné za m.facebook.com a vypíše výsledek po nahrazení.
Ikki
Profil
Vyzkouším,
ps: původně tam měl být jen odkaz, ale když jsem zjistil jací jsou lidi dementní, i přes návod "zvolte pouze odkaz", tak mi nic jiného nezbylo.
Keeehi
Profil
Ikki:
A to je problém při ukládání detekovat, zda tam není i ten iframe a případně z něj tu URL vypreparovat?

Pokud někomu dovoluješ vkládat HTML musíš mít ten formulář řádně zabezpečení (proti CSRF) a musíš mu věřit, jelikož je to vlastně dobrovolná perzistentní XSS zranitelnost.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: