does anyone know of a good regular expression to remove events from html.
For example the string:
"<h1 onmouseover="top.location='http://www.google.com">Large Text</h1>
Becomes
"<h1>Large Text</h1>
So HTML tags are preserved but events like onmouseover, onmouseout, onclick, etc. are removed.
Thanks in Advance!
How about:
Edit from the comments:
This is intended to be run on your markup as a one time thing. If you’re trying to remove events dynamically during the execution of the page, that’s a slightly different story. A javascript library like jQuery makes it extremely easy, though:
Edit:
Restricting this to only within tags is a lot harder. I’m not confident it can be done with a single regex expression. However, this should get you by if no one can come up with one:
Edit:
I surrender at writing a single regex for this. There must be some way to check the context of a match without actually capturing the beginning of the tag in your match, but my RegEx-fu is not strong enough. This is the most elegant solution I’m going to come up with: