Ankündigung

Einklappen
Keine Ankündigung bisher.

Simple html DOM Array - <li> in darunter liegendes <ul> verschieben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Simple html DOM Array - <li> in darunter liegendes <ul> verschieben

    Hallo, habe mich soeben hier registriert. Bin schon lange "Zuschauer" und nun Mitglied

    Folgendes Szenarium: Ich habe ein Navigationsmenü was genau so vorliegt:

    Code:
    <ul class="lev1">
      <li> LINK A</li>
      <ul class="lev2">
        <li>1 UNTERKATEGORIE LINK VON li A OBEN</li>
        <li>2 UNTERKATEGORIE LINK VON li A OBEN</li>
        <li>3 UNTERKATEGORIE LINK VON li A OBEN</li>
      </ul>
    
      <li> LINK B</li>
      <ul class="lev2">
        <li>1 UNTERKATEGORIE LINK VON li B OBEN</li>
        <li>2 UNTERKATEGORIE LINK VON li B OBEN</li>
        <li>3 UNTERKATEGORIE LINK VON li B OBEN</li>
      </ul>
    </ul>

    Nun, die Daten wie sie oben stehen möchte ich dahingehend ändern:
    Das Untermenü

    Code:
    <ul class="lev2">
    soll in den oberen

    Code:
    <li> LINK A</li>
    so das man ein gescheites Menü per CSS erstellen kann.

    Es müsste ja irgendwie geprüft werden ob nach dem <li> ein <ul class="lev2"> kommt und wenn ja, dann das <ul> in das obere <li> schieben.

    Mir qualmt schon dermaßen die Birne, ich weiß nicht weiter. Vielleicht gibts hier jemanden der eine Idee hat wie man das lösen könnte.

    Explizit geht es um E,bay Shop Kategorien die Dynamisch gelesen werden, diese möchte ich dann wie beschrieben "aufbereiten".

    Vielen Dank schon mal, allein fürs lesen


  • #2
    Hä?

    Wo kommt das "kaputte" HTML denn überhaupt her?
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Das geht aber schnell hier

      Das "kaputte HTML" liefert Ebay aus

      Kommentar


      • #4
        Beispiellink?

        Wenn der HTML-Code so von Ebay kommt wird man vermutlich auch (irgendwie) so ein gescheites Menü per CSS bauen können.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Gerne, hier auf der Linken Seite "Shop Kategorien" : Ebay Shop
          Ja vielleicht, lieber würde ich einen Lösungsansatz finden das "sauber" umzuschreiben

          Kommentar


          • #6
            Hast du auf deinem Server bzw. bei deinem Provider tidy zur Verfügung?
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Meinst du das Apache Modul mod_tidy ? Jaein.
              Die Sache sollte ohne diesem auf "normalen" Hosting Paketen laufen.

              Kommentar


              • #8
                eher PHP Tidy: http://php.net/manual/de/book.tidy.php
                [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

                Kommentar


                • #9
                  Danke! Schau ich mir gleich mal an.
                  Mit dem simple dom funktioniert das nicht ?

                  Kommentar


                  • #10
                    Bitte Forenstruktur beachten!

                    [MOD: verschoben]
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      Entschuldige

                      Also per apt-get install php5-tidy hab ich´s installiert und getestet.

                      Aus dem oben angegeben html macht er mittels:

                      PHP-Code:
                      $lala 'HTML WIE OBEN',

                      $buffer $lala;
                      $config = array('indent' => TRUE,
                                      
                      'output-xhtml' => TRUE,
                                      
                      'wrap' => 200);

                      $tidy tidy_parse_string($buffer$config'UTF8');

                      $tidy->cleanRepair();
                      echo 
                      $tidy

                      dieses hier:

                      Code:
                      <ul class="lev1">
                         
                          <li> </li>
                          
                          <li style="list-style: none; display: inline">
                          
                              <ul class="lev2">
                                  <li> </li>
                              </ul>
                              
                          </li>
                          
                      </ul>
                      Also auf jeden fall sauber, aber nicht so wie ich es gern haben möchte
                      Jemand eine Idee?

                      Kommentar


                      • #12
                        Also aus
                        Code:
                        <ul class="lev1">  
                        
                            <li> </li>   
                        
                            <ul class="lev2">
                                  <li> </li>
                            </ul>   
                        
                        </ul>
                        wird
                        Code:
                        <ul class="lev1">
                           
                            <li> </li>
                            
                            <li style="list-style: none; display: inline">
                            
                                <ul class="lev2">
                                    <li> </li>
                                </ul>
                                
                            </li>
                            
                        </ul>
                        so möchte ich es

                        Code:
                        <ul class="lev1">
                           
                            <li> 
                                <ul class="lev2">
                                    <li> </li>
                                </ul>
                        </li>
                            
                         
                            
                        </ul>

                        Kommentar


                        • #13
                          Ja und nu? Das wird Dir niemand schreiben. Also fang an!
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            Ich hantiere jetzt mit dem simple dom weiter
                            Irgendwie muss das ja machbar sein.
                            Schon mal besten Dank an euch. Reaktionszeit ist bombe. Daumen hoch

                            Kommentar


                            • #15
                              Du könntest mit DOMXpath nach allen <li> Elementen suchen welche das Style Attribute besitzen und dann dieses mittels removeAttr("style") oder so entfernen. Weis nicht ob es da genau eine solche Methode gibt, musst mal ins Manual schauen.

                              http://php.net/manual/en/domelement.removeattribute.php
                              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                              http://www.lit-web.de

                              Kommentar

                              Lädt...
                              X