채택완료

정규식 질문

Copy
<ul class="lst_total" id="power_link_body" impression-event-url="https://event.impression-neo.naver.com/api/v1/events/naver_search/impression?x=EfA_0fQr9wUUA5oa87h9mZRYLOLt

 

이런식의 html 소스를 preg_match 하려고 하는데

 

Copy
preg_match('/<ul class="lst_total" id="power_link_body">(.*?)<\/ul>/is',$string, $matches)

 

 

id까지는 되는데 뒤에 impression-event-url 이 붙고 그 값이 변동되니깐

 

preg_match를 사용할수 없습니다.

 

그래서

 

Copy
preg_match('/<ul class="lst_total" id="power_link_body" (.*?)>(.*?)<\/ul>/is',$string, $matches)

 

이런식으로 했는데 안되더라구요.

 

뒤에 변동되는값을 어떻게 퉁칠수있을까요?

 

|

답변 1개

채택된 답변
+20 포인트

퀴즈게시판에 올렸던 정규식글에 들어갈수가 없네요.  

 

참조  는 여기서 하시고,

 

Look Ahead 나 Behind 를 사용하던지,  not을 사용해서 만들어 보세요.

 

https://stackoverflow.com/questions/17200485/regex-to-match-a-html-tags-without-specific-attribute

 

Copy
<ul(?=\s|>)(?!(?:[^>=]|=(['"])(?:(?!\1).)*\1)*?\s['"])[^>]*>(.*?)<\/ul>

답변을 작성하려면 로그인이 필요합니다.