정규식을 사용하여 HTML 링크에서 href 값 추출
강력한 HTML 구문 분석에는 일반적으로 전용 HTML 파서가 권장되지만, 더 간단한 시나리오에는 정규식 접근 방식을 사용할 수 있습니다. 이 솔루션은 href
값을 추출하여 작은따옴표와 큰따옴표를 모두 처리합니다.
<code><a\s+(?:[^>]*?\s+)?href=("|')(.+?)</code>
설명:
<as
: 여는 <a>
태그 뒤에 선택적 공백이 오는 것과 일치합니다.(?:[^>]*?s )?
: 선택적으로 href
앞의 다른 속성 및 공백과 일치합니다. ?:
은 이를 비캡처 그룹으로 만듭니다.href=("|')
: 뒤에 작은따옴표나 큰따옴표가 오는 href
속성과 일치합니다. 인용문은 그룹 1에 담겨있습니다.(. ?)
: href
값 자체를 캡처합니다(그룹 2).1
: 닫는 인용문과 일치합니다(그룹 1에서 캡처한 시작 인용문과 동일).중요 고려 사항:
이 정규식은 완전한 HTML 파서가 아닙니다. 형식이 잘못되었거나 복잡한 HTML에서는 실패합니다. 사전 처리되고 단순화된 HTML 스니펫에 가장 적합합니다. 예를 들어 다음과 같이 추출된 href
속성 목록에 사용하세요. href="mylink.com"
특정 링크 유형 필터링:
물음표(?
)와 등호(=
)가 모두 포함된 링크를 필터링하려면 다음 세련된 정규식을 사용하세요.
<code>href=(.*?)\?(.*?)=(.*?)</code>
이렇게 하면 지정된 특성을 가진 링크만 선택됩니다. 복잡한 HTML 구조에는 신뢰할 수 있는 결과를 얻으려면 전용 HTML 파서가 필요하다는 점을 기억하세요.
위 내용은 정규식을 사용하여 HTML 링크에서 href 값을 추출하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!