Vymazať všetky medzeri – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vymazať všetky medzeri – PHP – Fórum – Programujte.comVymazať všetky medzeri – PHP – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené — příspěvek s řešením.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
zelenac10
Návštěvník
2. 10. 2016   #1
-
0
-

Dobrý večer,

chcel by som sa opytať či neexistuje nejaka funkcia, ktorá dokaže vymazať všetky medzeri. Idealne by bolo keby sa s retazca(HTML kod) stal len jeden riadok. A skušal som už Chop,LTrim,Trim.

Lebo zakaznik chce udaje s inej stránky tak to potrebujem odtial dostať. Ale že su tam najskor medzeri v retazci tak vždy jednen riadok stratim.

Ďakujem za rady :)

Nahlásit jako SPAM
IP: 188.121.182.–
Vkuse sa len učím :)
Reklama
Reklama
ondrej39+1
Věrný člen
2. 10. 2016   #2
-
0
-

#1 zelenac1
Nejjednodušší bude, když poskytneš sample dat a jaký má být výstup. Pak se s tím dá něco dělat.

Nahlásit jako SPAM
IP: 94.230.157.–
Inject all the dependencies!
Kit+11
Guru
2. 10. 2016   #3
-
0
-

#1 zelenac1
Použij HTML parser, který tě těch zbytečných mezer automaticky zbaví.

Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2532 příspěvků
2. 10. 2016   #4
-
0
-

php.net/preg_replace
'~[ ]+~', ' '
Nahrad opakovani mezery za jednu. Ale treba tam mas zalomeni radku \n nebo tabelator \t a nebo neco jineho.
'~[ \n\t]+~', '$1'
'...' - string
~...~ - zacatek konec regularniho vyrazu
[...] - seznam znaku
+ opakovani vyrazu v poctu 1 az nekonecno
Cili to znamena, ze nahradi vsechny mezery jednou. Nebo v druhem pripade vsechny opakujici se znaky v zavorce jednim.
Ale bacha, az neprijdes o tagy, kdyz je to html kod. Si to zkus zobrazit pred a po uprave pomoci echo '<pre>'.htmlescape($str);

Nahlásit jako SPAM
IP: 193.84.199.–
zelenac10
Návštěvník
2. 10. 2016   #5
-
0
-

Kod oni chcu len link na video

<?php

 $data = file_get_contents("http://sledujserialy.sk/episode/into-the-wild-2", FILE_USE_INCLUDE_PATH);
 
 $data_uprava =  str_replace('<iframe', "[iframe]", $data); 
 $data_uprava =  str_replace('</iframe>', "[/iframe]", $data_uprava);

      
 if (preg_match_all('#\[iframe\](.+)\[/iframe\]#iU', $data_uprava, $matchs)) {foreach ($matchs[0] as $i => $match)$zdroj[$i] = trim($match);}
 
 for($i = 0; $i < count($zdroj); $i++){  
   
  $pole = explode('"', $zdroj[$i]);
 
  for($x = 0; $x < count($pole); $x++){
    $hodnota = substr($pole[$x], 0,5); 
  
   if ($hodnota == "https" OR $hodnota == "http:")
    {
     $uprava_text = str_replace('//', "#", $pole[$x]); 
     $uprava_text = str_replace('/', "#", $uprava_text);
     $pole_url = explode('#', $uprava_text);
      
      for($a = 0; $a < count($pole_url); $a++){
       if ($pole_url[$a] == "openload.co" OR $pole_url[$a] == "www.openload.co"){echo "$i - openload - $pole[$x] <br>";}
       if ($pole_url[$a] == "youwatch.org" OR $pole_url[$a] == "www.youwatch.org"){echo "$i - youwatch - $pole[$x] <br>";}
       if ($pole_url[$a] == "flashx.tv" OR $pole_url[$a] == "www.flashx.tv"){echo "$i - flashx.tv - $pole[$x] <br>";}
      }
      
    }
  }
}

 
?>   

a vypiše sa vždy len jeden 


0 - openload - https://openload.co/….CZ..avi.mp4 <br>   
Nahlásit jako SPAM
IP: 188.121.182.–
Vkuse sa len učím :)
Řešení
Kit+11
Guru
2. 10. 2016   #6
-
0
-
Vyřešeno Nejlepší odpověď

#5 zelenac1
Zkus tohle: 

<?php
$url = "http://sledujserialy.sk/episode/into-the-wild-2";
$html = file_get_contents($url, FILE_USE_INCLUDE_PATH);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$xpath = new DOMXPath($doc);
$entries = $xpath->query('//iframe');
foreach ($entries as $entry) {
    echo urldecode($entry->getAttribute('src')), PHP_EOL;
    echo "=====" , PHP_EOL;
}
Nahlásit jako SPAM
IP: 194.228.13.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2532 příspěvků
3. 10. 2016   #7
-
0
-

preg_match_all('#\\"(http.+)\\"#iU', $str, $matches);
Nevytahlo by to zrovna vsechny url adresy vcetne a-hrefu a pod?

A pak pomoci strpos z toho dostat to deleni podle url.

Nahlásit jako SPAM
IP: 2001:718:2601:26c:112a:19...–
zelenac10
Návštěvník
3. 10. 2016   #8
-
0
-

Ďakuejm funguje :)

Nahlásit jako SPAM
IP: 188.121.182.–
Vkuse sa len učím :)
Zjistit počet nových příspěvků

Přidej příspěvek

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 200 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý