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





Computerworld
Atea-dom bliver flere måneder forsinket efter kæmpefund af materiale: "Jeg er rystet over, hvad der foregår"
Dommen i Atea-sagen er flere måneder væk. Retten i Glostrup skulle have taget stilling til skyldsspørgsmålet i begyndelsen af februar, men enorme mængder nyt sagsmateriale får sagen til at trække ud. Nu er flere weekender inddraget til retsmøder de kommende måneder.
CIO
Region Nordjylland aner ikke om den overholder vigtig del af persondataloven: "Vi tager det ud fra almindelig sund fornuft"
Danske myndigheder har store problemer med at overholde persondataloven, og det står særligt skidt til med at kontrollere sikkerheden hos det offentliges it-leverandører. Ifølge Region Nordjylland er det umuligt at kontrollere, om man overholder reglerne.
Comon
Det skal du gøre for at få skiftet dit (måske slidte) iPhone-batteri til 229 kroner
Apple har sænket prisen for at få skiftet batteriet i iPhone det næste år efter en større afsløring, og hvis du vil gøre brug af tilbuddet, skal du gøre dette
Job & Karriere
Dansk it-virksomhed indførte fire-dages arbejdsuge: I dag er sygefraværet rekord-lavt og direktøren har tabt sig 13 kilo
Interview: Great Place To Work kategori-vinderen IIH Nordic har indført en fire-dages arbejdsuge og taget et opgør med forstyrrende storrums-kontorer og en frustrerende mailkultur. I dag er medarbejderne gladere end nogensinde før.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.