HTML 파일을보고 정규 표현식과 일치하는 경우 요소를 찾습니다. 요소가 일치하는지 결정하는 한 가지 주요 사항 이드가 무엇인지. ID는 내가 사용하기로 결정한 특수 문자 여야합니다. 문제는 일부 사용자가 HTML에 ID를 쓸 때 이중 또는 작은 따옴표를 사용한다는 것입니다. 두 경우 모두 잡을 수 있기를 바랍니다. 그래서 내 정규 표현식은 이것이다 :PHP preg_match - 큰 따옴표 나 작은 따옴표를 사용하는 속성 캡처
내가id
이 위치를 볼 수 있습니다 중간에
preg_match('@(<)([^\s]*).*(id)\s*=\s*["|\']{{ALViewElement_'.$viewElement.'}}["|\'][^/]*?(>)@i', $viewFile, $elementMatches, PREG_OFFSET_CAPTURE)
닫습니다. 등호 뒤에는 ["|\']
이 있고 마지막에는 닫는 따옴표에 대해 동일한 것을 사용합니다. 내가 대신 작은 따옴표를 사용하는 경우, 일치하지 않는, 그러나
<section id="{{ALViewElement_resume}}" data-test="testing" >
<!--{{RESUME_ADD_CHANGE_PIECE}}-->
<!--{{RESUME}}-->
</section>
:
<section id='{{ALViewElement_resume}}' data-test="testing" >
<!--{{RESUME_ADD_CHANGE_PIECE}}-->
<!--{{RESUME}}-->
</section>
나는 수가 없어 내 HTML이 보이는 경우
, 나는 일치를 얻을 수 정규 표현식에 무엇이 잘못되어 있는지를 파악하기 위해 작은 따옴표를 사용하지 않습니다. 어떤 아이디어?
HTML/XML 문서를 구문 분석하기 위해 RegEx를 사용하지 마십시오. DOM 또는 XPath를 사용하십시오. –
내가하고있는 일은 DOM이나 XPath보다 RegEx를 사용하는 것이 훨씬 쉽다는 것을 입증했다. 나는 두 가지 옵션을 모두 탐구했다. – user1513171
더 쉽게 여기 물어 보지 않으시겠습니까? –