Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit If Anweisung / Array

Einklappen

Neue Werbung 2019

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

  • Problem mit If Anweisung / Array

    Hallo,

    hab hier ein kleines Problem mit einer php Datei für mein Wordpress Blog. Also vorab der Code, der mir Probleme bereitet.

    Code:
    /**
       * Get links for each tag for auto link feature
       *
       */
      function prepareAutoLinkTags() {
        $this->getTagsFromCurrentPosts();
       
        $auto_link_min = (int) $this->options['auto_link_min'];
        if ( $auto_link_min == 0 ) {
          $auto_link_min = 1;
        }
       
        $this->link_tags = array();
        foreach ( (array) $this->tags_currentposts as $term ) {
          if ( $term->count >= $auto_link_min ) {
            $this->link_tags[$term->name] = esc_url(get_tag_link( $term->term_id ));
          }
        }
       
        return true;
      }
    Das Prinzip ist einfach. Es soll der Text eines Beitrags durchgegangen werden und wenn ein Wort im Text mit einem Tag übereinstimmt soll der Linkzu dem Tag eingefügt werden.

    Jedoch ist es so wenn im Text 10 mal der Tag Haus gefunden wird, werden auch 10 Links auf den Tag gesetzt. Ein Link würde jedoch schon reichen. Das heißt ich müsste i-wie einen Befehl mit rein bringen, der besagt das er die schon gefundenen Tags nicht nochmals ersetzt. Ich dachte daran das mit einem Array lösen.
    Jedesmal schauen, ob der Tag schon im Array vorkommt -> wenn nicht, ersetzen und dem Array hinzufügen.

    Bin jetzt aber sehr ratlos, wie ich das im code umsetzen könnte?

    Ich hoffe ich konnte es einigermaßen erklären und Ihr könnt mir evtl weiterhelfen.

    gruß mcca
    [URL="http://www.holidaytube.de"]Hotelbewertungen[/URL]


  • #2
    Du dachtest daran, das mit einem Array zu lösen?

    Vorgefertigte Lösungen bekommst du hier auch nicht, aber hier mal ein paar Funktionen, die dir helfen sollten: [man]in_array[/man], [man]array_push[/man]
    @fschmengler - @fschmengler - @schmengler
    PHP Blog - Magento Entwicklung - CSS Ribbon Generator

    Kommentar


    • #3
      Was spricht denn gegen sowas ?:

      PHP-Code:
      $text "Das ist das Haus vom Nikolaus, das ist sein Ferien - Haus";
      print_r(str_replace('Haus','<a href="http://example.com">Haus</a>',$text)); 
      AFFE ist nur im Dezimalsystem ein Palindrom.

      Kommentar


      • #4
        str_replace ersetzt jedes Vorkommen, nicht nur das erste. Ich glaube aber, das Problem des TE liegt viel tiefer, der Wordpress-Codeschnipsel da oben hat nämlich anscheinend überhaupt nichts mit der Textersetzung zu tun sondern erstellt nur eine Abbildung von zu ersetzenden Termen nach den entsprechenden Links.

        Also mal ganz offen gefragt, mcca: Hast du überhaupt schonmal eine eigene Zeile PHP geschrieben oder sind das für dich nur tanzende Buchstaben?
        @fschmengler - @fschmengler - @schmengler
        PHP Blog - Magento Entwicklung - CSS Ribbon Generator

        Kommentar


        • #5
          ja sogar schon genug =) z.B. in meiner Abschlussprüfung.. habe das Problem aber jetzt gelößt danke trozdem
          [URL="http://www.holidaytube.de"]Hotelbewertungen[/URL]

          Kommentar


          • #6
            das Problem des TE liegt viel tiefer, der Wordpress-Codeschnipsel da oben
            Ah, ok dachte das wäre nur ein Ausschnitt aus seinem gesamten Code.
            AFFE ist nur im Dezimalsystem ein Palindrom.

            Kommentar


            • #7
              Zitat von mcca Beitrag anzeigen
              habe das Problem aber jetzt gelößt danke trozdem
              Dann ist ja gut, entschuldige meine Unterstellung
              @fschmengler - @fschmengler - @schmengler
              PHP Blog - Magento Entwicklung - CSS Ribbon Generator

              Kommentar

              Lädt...
              X