Nej, replace er ikke i jQuery-dokumentationen, da det er en helt almindelige Javascript-funktion. Men for at kunne bruge den bliver dit jQuery nødt til at fungere - det er det, der var problemet før.
Hvilken del ser du ikke noget logisk ud, tænker du på:
var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;Det, der bruges der er en regex (regular expression), som der også står. Regex har sådan set ikke noget med JavaScript at gøre - Regex er bare en måde at søge på, der er implementeret mange steder, både i kommandolinjeværktøjer i Linux, i teksteditorer, og i et utal af programmeringssprog. Det er et kanon værktøj til at lave avanceret matchmaking/søgning; det er dog tungt.
Regex kan være rimelig kompliceret lige at gå til, men hvis du vil lære mere kan du kigge på
http://www.regular-expressions.info/Nu er jeg ikke selv ekspert til Regex, jeg kan da prøve at bryde den ned for dig.
/ bruges i starten og slutningen for at sige "nu starter selv regexen". Alt i mellem, er det den forsøger at matche. Det, der står efter (gi) er modifiers.
i betyder at søgningen og case-insensitive, og g betyder at det er en global søgning (så vidt jeg husker).
Nu er der <("[^"]*"|'[^']*'|[^'">])*> tilbage, hvilket er selve udtrykket.
Strengen, den matcher, skal starte med < og slutte med >. Dog skal < og > ikke være en del, af det der returneres, når man søger. Det er kun det mellem ( og ), der skal matches. *'en efter betyder, at det, der er mellem < og > ikke skal være en specifik længde. Hvis der derimod stod . fremfor * så skulle den være et tegn, hvis der stod + skulle den være mindst ét tegn. Hvis der stod {5} skulle den være 5 tegn, {2,8} betyder mellem 2 og 8 tegn, {,9} betyder mindre end 9 tegn og {5,} betyder mere end 5 tegn, for eksempel.
Herefter kommer vi til, hvad strengen skal matche mere detaljeret. | betyder eller, dvs strengen skal matche enten <([^'">])*> eller <("[^"]*")> eller <('[^']*')>. [ og ] bruges normalt til at indramme en slags "udtryk". Det kan fx være [a-z], som betyder alle bogstaver eller [\w] betyder alle ord, osv. Du kan læse om det hele på regular-expressions.info som nævnt. ^ betyder undtagen. Dvs den matcher ikke strenge, der indeholder " eller ' eller '". Ligeledes er der en stjerne efter udtrykket her, der også betyder i alle længder.
Hvis du vil vide mere bør du nok tjekke siden ud jeg linkede - det er (som du nok allerede har opdaget) en smule omfattende.