[Coldfusion] ReplaceNoCase

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

  • [Coldfusion] ReplaceNoCase

    Moin Moin!

    ich habe folgendes Problem: Ich möchte in Coldfusion ein Suchwort-Highlighting in meine Seite einbauen. Dabei soll nach der Variablen "key" in einem String gesucht, und die entsprechenden Stellen dann farbig hervorgehoben werden.

    bisher sieht mein Code so aus:

    Code:
    <cfif key is "">
    
    #text# 
    
    <cfelse>
    
    <cfset keyreplace = '<span style="color:##FF6600;">#key#</span>'>
    
    
    #Replace(text,key,keyreplace,"All")# 
    
    </cfif>
    Das funktioniert auch soweit ganz gut. Wenn nach "pferd" gesucht wird, wird "pferd" auch ersetzt. Sucht man nach "Pferd" wird "pferd" jedoch nicht ersetzt.
    Ich weiß leider auch nicht auf Anhieb wie man das in PHP machen kann, vielleicht weiß jemand eine Lösung die ich dann in Coldfusion umschreiben kann. Meiner Meinung nach sind die String-Funktionen in CF nciht ganz so umfangreich wie in PHP.

    Danke im vorraus,

    stun

  • #2
    in PHP wär meine Antwort jetzt

    PHP-Code:
    foreach($suchworte as $key)
      
    $text preg_replace('/('preg_quote($key). ')/i',# case[b][u]i[/u][/b]nsensitiv!
        
    '<span style="color:##FF6600;">$1</span>'$text); 
    Ist das in CF möglich?
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar


    • #3
      Hey danke das hat funktioniert.
      Ich habe leider nicht die nötige Erfahrung mit regulären Audrücken. Auch geil ist, dass die offizielle CF Doku nicht erwähnt, dass die gefundenen Treffer des regulären Audrucks weiter verwendet werden können.

      Falls jemand die Lösung benötigt (was ich nicht glaube *g*)

      PHP-Code:
      // Start

      #REReplaceNoCase(text,key,'<span style="color:##FF6600;">\0</span>#,'ALL')#

      // Ende 
      Danke nochmal für die kompetente Hilfe. Vielleicht habe ich ja jemanden dazu gebracht sich CF mal anzuschauen

      stun

      Kommentar

      Lädt...
      X