Autor Zpráva
Michales
Profil
Dobrý den,

potřeboval bych vytáhnout informaci z jedné stránky.
Přímo z
<pre style="font-family: Lucida Console;">Informace</pre>

Toto mi nefunguje:
function ziskatlyrics($url) {
  $platnost = 30; // 60 s 
  $soubor = urlencode($url);
 
  if ( 
      ! file_exists($soubor) ||
      (filemtime($soubor) <= time() - $platnost)
     ) {
    // obsah se musí stáhnout z cizí URL
    $obsah = file_get_contents($url);
    preg_match('/<pre style=\"font\-family:\Luciada\Console\">(.*)<\/pre>/', $obsah, $match);
    // uložení obsahu do cache
    file_put_contents($soubor, $match[1]);
  }
  // obsah je určitě v cachi
  return file_get_contents($soubor);
}
echo ziskatlyrics(
  "http://www.classic-country-song-lyrics.com/babywontyoucomeouttonightlyricschords.html"
);

Nic mi to neukáže, prosím o radu kde co dělám špatně
juriad
Profil
Jelikož je na stránce jediný pre, můžeš si to ulehčit:
preg_match('/<pre.*?>(.*)<\/pre>/', $obsah, $match);
Měl jsi tam chybu v mezerách a středníku uvnitř regexu.
Michales
Profil
juriad:
Mockrát ti děkuji
Michales
Profil
Ještě bych měl jeden dotaz, lze pák vytáhnutý text nějakým způsobem upravit?
Mám namysli zmenšit písmo, změnit fotn atd.?
juriad
Profil
Je to text, můžeš si s ním dělat, co chceš. Jde-li ti jen o text písní a nikoli o akordy, můžeš obsah prohnat sérií filtrů, které jej vyčístí od balastu.
Michales
Profil
Jde mi o text a o akordy, tohle písmo je moc velké chtěl bych ho změnšit
juriad
Profil
Tak ho zmenši. Uplatňují se na to stejná pravidla CSS jako na zbytek webu.
pre {
  font-size: 80%;
}
S fontem je to složitější, ten je přímo v obsahu, musíš ten <font> odstranit.
juriad
Profil
Rád bych tě také upozornil na legální problémy tvého konání. Nemůžeš jen tak postahovat texty písniček z cizího webu.
Přečti si http://zakony.centrum.cz/autorsky-zakon/cast-1-hlava-3-paragraf-90 odstavec 5.
Michales
Profil
juriad:
Vím že nejednám správně ani legálně.
Chci ale uvádět autorskou stránku i s odkazem na ní pokud to aspoň trochu zmírní to co dělám

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: