Noob Novice
09. august 2017 - 12:12 Der er 4 kommentarer

hvordan skal jeg explode det her

Hvordan skal jeg explode det her ?
Som i kan se i html så har jeg markeret det jeg skal brug.
Er godt nok ved at få grå hår af det, eller flere ;D

class="glob-search_link" href="/Medicin/Praeparater/DET HER SKAL JEG BRUGE"><div class="glob-hoverbg-gray glob-searchresult-item">
      <div class="glob-searchline" title="Panodil®">
        <div class="glob-search-desc">DET HER SKAL JEG BRUGE<sup>®</sup></div>
        <div class="glob-arrow-with-mediatype">
          <div class="glob-searchline-arrow"> </div>
        </div>
      </div>
      <div class="glob-floatNone"></div>
    </div></a><a class="glob-search_link" href="/Medicin/Praeparater/DET HER SKAL JEG BRUGE"><div class="glob-hoverbg-gray glob-searchresult-item">
      <div class="glob-searchline" title="Panodil Brus">
        <div class="glob-search-desc">DET HER SKAL JEG BRUGE</div>
        <div class="glob-arrow-with-mediatype">
          <div class="glob-searchline-arrow"> </div>
        </div>
      </div>
      <div class="glob-floatNone"></div>
    </div></a><a class="glob-search_link" href="/Medicin/Praeparater/DET HER SKAL JEG BRUGE"><div class="glob-hoverbg-gray glob-searchresult-item">
      <div class="glob-searchline" title="Panodil Hot">
        <div class="glob-search-desc">DET HER SKAL JEG BRUGE</div>
        <div class="glob-arrow-with-mediatype">
          <div class="glob-searchline-arrow"> </div>
        </div>
      </div>
      <div class="glob-floatNone"></div>
    </div></a><a class="glob-search_link" href="/Medicin/Praeparater/DET HER SKAL JEG BRUGE"><div class="glob-hoverbg-gray glob-searchresult-item">
      <div class="glob-searchline" title="Panodil Junior">
        <div class="glob-search-desc">DET HER SKAL JEG BRUGE</div>
        <div class="glob-arrow-with-mediatype">
          <div class="glob-searchline-arrow"> </div>
        </div>
      </div>
      <div class="glob-floatNone"></div>
    </div></a><a class="glob-search_link" href="/Medicin/Praeparater/DET HER SKAL JEG BRUGE"><div class="glob-hoverbg-gray glob-searchresult-item">
      <div class="glob-searchline" title="Panodil® Zapp">
        <div class="glob-search-desc">DET HER SKAL JEG BRUGE<sup>®</sup> Zapp</div>
        <div class="glob-arrow-with-mediatype">
          <div class="glob-searchline-arrow"> </div>
        </div>
      </div>
      <div class="glob-floatNone"></div>
    </div></a><div class="glob-searchresult-item"></div>
</div>
<div class="searchResBlock glob-displayNone" id="searchResBlock_30">
  <div class="SoegeresText">
          Søgeresultater,
        Lægemiddelgrupper
      :
        </div><a class="glob-search_linkKolort<br>
acore Guru
09. august 2017 - 13:25 #1
I min optik er simplehtmldom - se http://simplehtmldom.sourceforge.net/ - aldeles uovertruffen til at parse html sider.

Koden bliver noget med:

$html = file_get_html("http://www.xxx.com/");

foreach($html->find('a[class=glob-search_link]') as $item)
  echo($item->href."<br>");
acore Guru
09. august 2017 - 13:27 #2
...som en begyndelse - vil ikke skrive en masse, hvis jeg er helt på vildspor.
Zochko Juniormester
11. august 2017 - 20:34 #3
Javascript kunne også være en mulighed.
Jeg har forsøgt at skrive lidt kommentarer til, du må sige til hvis der er noget som skal uddybes :)

<script type="text/javascript">
   
    var savedGlobSearchLinkPart = [];
    var savedGlobSearchDescValue = [];
   
    // Henter alle elementer som har klassen glob-search_link og gemmer dem i et array "links".
    var links = document.getElementsByClassName("glob-search_link");

    // Henter alle elementer som har klassen glob-search-desc og gemmer dem i et array "divElements".
    var divElements = document.getElementsByClassName("glob-search-desc");
   
    // Løber alle de fundne links igennem.
    for(var i = 0; i < links.length; i++) { 
       
        // Her splitter vi url hver gang "/" mødes i url, og gemmer i et midlertidigt array "splittedUrl".
        var splittetUrl = links[i].href.split("/");
        // Nu tager vi det sidste element i det midlertidige array og gemmer indholdet i en variable "neededPartOfUrl".
        var neededPartOfUrl = splittetUrl[splittetUrl.length -1];
       
        // Her gemmer vi så den variabel som indeholder den del af url som du skal bruge i et array "savedGlobSearchLinkPart" - Bemærk jeg har brugt navnet på klassen vi søger efter i navnet på array.
        savedGlobSearchLinkPart[i] = neededPartOfUrl;
       
    } 
   
    // Løber igennem alle elementerne med klassen glob-search-desc.
    for (var i = 0; i < divElements.length; i++) {
       
        // Udtrækker teksten fra elementet
        var textValue = divElements[i].innerText;
       
        // fjerner det som der ikke skal bruges
        var stripetIcon = textValue.replace("®", "");
        var stripetText = stripetIcon.replace("Zapp", "");
       
        // Gemmer værdierne.
        savedGlobSearchDescValue[i] = stripetText;
    }
   
    /*
    window.alert(savedGlobSearchLinkPart);
    window.alert(savedGlobSearchDescValue);
    */
   
    console.log(savedGlobSearchLinkPart);
    console.log(savedGlobSearchDescValue);
</script>
Noob Novice
13. august 2017 - 11:26 #4
hej Zochko.
Super mange tak for dit bu men må sige jeg forstå slet ikke javascript desværre men skal til at lære det i løbet af vinteren da det faktisk er en app jeg vi l prøve at lave.

Jeg kan ikke få noget ud med det script du har lavet og vil også lige sige at det er ikke det samme html resultat der vil komme hver gang da det er fra et søgeresultat.
Jeg har hele siden i en html dom hvor jeg skriver til filen test.txt og der er der jeg henter den html jeg skal bruge.
håber du / i forstå
Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links

Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester





CIO
"På 11 minutter blev vores computere ramt af den frygtede Petya ransomware-skærm"
"På 11 minutter blev vores computere ramt af den frygtede Petya ransomware-skærm. Først troede vi, at det bare ville blive en aften uden email, og at de ville fikse det i løbet af natten. Men næste morgen var der krisemøde, og vi fik at vide, at vi ville være nede i lang tid."
Comon
Oversigt: Her er de bedste Android-smartphones der kan købes i Danmark
Det vrimler med spændende Android-smartphones på markedet. Vi har samlet en oversigt over de bedste Android-telefoner, du kan købe herhjemme netop nu.
Job & Karriere
IBM’s Watson har gennemlæst 600 jobopslag, og snart kan der blive vendt op og ned på vores jobsøgning
Kunstig intelligens kan forandre den måde virksomheder rekrutterer på. Derfor har IBM netop gennemført et stort forsøg med Danmarks største erhvervsskole.
White paper
Sådan anvender du Microsofts Assessment og Planning Toolkit i dit it-miljø
Dette whitepaper gennemgår hvordan du anvender du Microsofts Assessment og Planning Toolkit i dit it-miljø og kommer med specifikke råd og konkret vejledning til anvendelsen.