[Funktion] Kombinieren von 2 Regex

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

  • [Funktion] Kombinieren von 2 Regex

    Hi!

    Also mit Hängen und Würgen hab ich 2 Regex gefunden und halbwegs verstanden:

    Außerhalb von <a> und </a> suchen:
    PHP-Code:
    $reg "/((<a(.*)[^<\/a>]*)|$s\b)/ie"
    Außerhalb von < > suchen
    PHP-Code:
    $reg "/((<[^>]*)|$s\b)/ie"
    Bei 1.) werden allerdings Wörter in z.B. img Tags ersetzt (logisch!) und bei 2.) ist das Problem, dass bei <a> Tags einfach doppelt ersetzt wird.

    Beispiel:
    2 Wörter aus der DB
    Mahnwesen SK
    Mahnwesen

    Code:
    <a href"id=100"><a href="id=20">Mahnwesen</a> SK</a>

    Wie kann man praktisch beide Sachen kombinieren dass innerhalb von < > und auch innerhalb von HTML Tags nicht ersetzt wird?

    Bin für jede Hilfe dankbar
    www.little-dev.de - PHP und Web 2.0

  • #2
    anregung: http://www.php-center.de/faq/faq-regexp.html#regexp-11

    Kommentar


    • #3
      Hi genau das hab ich ja genutzt

      Der Code funktioniert allerdings nur zwischen <> aber nicht z.B. zwischen <div> und </div> oder <a> und </a>, weil ja vorher schon die > kommt.
      www.little-dev.de - PHP und Web 2.0

      Kommentar


      • #4
        Hat sich erledigt...hab mal weiter gegooglet

        Folgendes Script nutze ich nun:
        PHP-Code:
         foreach($words as $word)
        $str_content=preg_replace("/(?!<!--)(?!<)(^|[\s\.,>])($word)($|[\s,\.])(?!>)(?!-->)/",
        "$1<a href='index.php?page=1'>$2</a>$3",$str_content);

        Wenn der Content zu lang wird ist es aber auch nicht das Wahre... ;-) Also bei 60 Din A4 Seiten und 300 Wörtern murxt er etwas...aber das ist auch nur zum Testen
        www.little-dev.de - PHP und Web 2.0

        Kommentar

        Lädt...
        X