preg_replace nicht in links

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

  • #16
    Sorry, versteh nicht ganz worauf du damit hinaus willst.

    Gibt es keine Möglichkeit den regex so einzustellen, dass zwischen "<a" und "a>" nichts ersetzt wird, sonst überall schon?

    Ich hätte wirklich gedacht damit würde das gehn:
    PHP-Code:
    '(?<!\<a.*)$gwrow[name](?!.*a\>)'
    aber das tut es anscheind nicht , da das hier nicht akzeptiert wird:
    PHP-Code:
    (?<!\<a.*) 
    fragt sich nur: Wieso?

    arrays sind klasse

    Kommentar


    • #17
      fragt sich nur: Wieso?
      weil 'lookbehind assertion' ohne 'fixed length' scheinbar nicht funktioniert, keine ahnung. warum probiers du nicht meine, imho funktionierende und zudem noch einfachere methode? oder sagst mir, was daran nicht funktioniert, damit ich nicht in dem irrglauben rumlauf, das würde so gehn?
      Die Zeit hat ihre Kinder längst gefressen

      Kommentar


      • #18
        bin ich doof: das eine heißt "regs" und das andere "reps" - habs erst vollkommen misverstanden

        Im Grunde haben wir schon die beide die selben lösungen ausprobiert, nur dass ich das array so schreibe:
        $array[$array_count++] = ...

        wenn ich dann also nur /WORT/i habe ersetzt er noch viel chaotischer, als zuvor, da hier überall ersezt wird (auch in den links selber).

        geht also nicht
        arrays sind klasse

        Kommentar


        • #19
          hier,

          Code:
          $suchwords = array ("elend", "kanns", "abwenden", "gehn");
          $reg = implode ("|", $suchwords);
          echo preg_replace ("/(".$reg.")/i", "<a href=\"\\1.html\">\\1</a>", "ich will das elend beenden, ich kanns nicht mehr sehen, ich will mich abwenden und gehn");
          das müßte sich an deine wünsche anpassen lassen ...
          EDIT:
          eigentlich unnötig zu erwähnen, daß der schnipsel exact das macht, was ich glaube als das verstanden zu haben, was du machen möchtest.
          Zuletzt geändert von derHund; 22.12.2003, 16:03.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #20
            Danke dir für deine Hilfe.
            Du hast auch recht, der Code funktioniert (habe ihn seperat getestet).

            Nur innerhalb meines übrigen codes funzt er nicht, weil um das ganze herum nochmal ne schleife ist. beim x-ten durchlauf wiederholt er somit das replacement x-mal, was ich noch irgendwie umgehen muss, aber das ist ein anderes problem
            arrays sind klasse

            Kommentar

            Lädt...
            X