이 정규식은 온 클릭 또는 온로드 어딘가에 속성을 가진 태그가 있는지 감지하도록되어정규식은 온 클릭으로 HTML 태그를 감지하거나 온로드 너무 욕심 속성
/<.+(onclick|onload)[^=>]*=[^>]+>/si
을 HTML에서. 대부분의 경우 그렇습니다. 그러나 ". +"부분은 큰 텍스트에서 큰 성능 문제입니다 (그리고 너무 욕심 스럽기 때문에 일부 버그의 출처이기도합니다). 나는 그것을 수정하고 그것을 똑똑하게 만들려고하지만, 지금까지 실패했습니다 - "스마트는"한 몇 가지 예를 다음과 같이 그리워 :
<img alt="<script>" src="http://someurl.com/image.jpg"; onload="alert(42)" width="1" height="1"/>
지금, 나는 정규 표현식에와 unmentionable horrors happen if I do와 HTML을 구문 분석하지 않아야 알고있다. 그러나이 특별한 경우에는 적절한 코드 (예 : 실제 HTML 파서)로 바꿀 수 없습니다. 이 정규식을 고칠 수 있습니까? 아니면 할 수있는 방법이 없습니다.
다른 이벤트는 어떻습니까? '' – icktoofay
위의 예에서 알 수 있듯이 실제 코드는 더 털이 많으며 모든 종류의 물건을 검사합니다. 그러나 이것은 문제가되는 부분입니다. – StasM
greedy 수량 한정자 ('*','+')의 인스턴스를 lazy 수량 한정자로 바꾸려고 했습니까? ('*?','+?') – Nightfirecat