Es gibt eine Reihe von jQuery Texthervorhebungsroutinen (Plugins), wie sie von Johann Burkard und Bartek Szopka angeboten werden, aber alle, die ich bisher gefunden habe, scheitern um Text hervorzuheben, der HTML-Textformatierungs-Tags enthält.jQuery Hervorhebung von HTML mit Textformatierungs-Tags
Zum Beispiel, wenn ich hervorheben möchten „sit amet Lorem ipsum dolor“ die Phrase und die HTML-Seite enthält den Satz Lorem ipsum <strong>dolor</strong> sit amet
, dann ist das Auftreten der Phrase nicht markiert ist.
Ähnlich, wenn ich das Wort "Lorem" hervorheben möchte und die HTML-Seite enthält Lo<i>rem</i>
, dann wird dieses Vorkommen auch nicht hervorgehoben.
Ich begann mit einem Regex in PHP, um die Hervorhebung zu machen, aber praktisch jeder sagte, es sei unmöglich, zuverlässig zu markieren, ohne zum DOM zu gehen, also bin ich jetzt zum DOM gegangen, und die Verwendung des DOM hat große Schwierigkeiten auch!
Kann jemand vorschlagen, entweder eine bessere jQuery Hervorhebung Routine oder eine Änderung an einer bestehenden Routine, die diese Schwierigkeit zu lösen?
Soweit PHP betroffen ist, wurde diese Frage hier beantwortet: [Ignoriere HTML-Tags in preg_replace] (http://Stackoverflow.com/q/8193327/367456) - das gleiche sollte auch mit Javascript möglich sein. – hakre
@hakre in dem Artikel, den Sie erwähnen, das Beispiel auf Codepage.viper-7 scheint nicht zu funktionieren. Gibt es einen Platz, um den vollständigen Arbeitscode für Ihr Beispiel anzuzeigen oder herunterzuladen? –
Ja, es ist auch auf GitHub: https://gist.github.com/gists/1894360/ - wurde dort in den Kommentaren verlinkt. Das Beispiel ist in der Antwort IIRC. – hakre