모든 다른 유형의 링크 (상대, 절대, 루트 기준)가있는 html을 포함하는 텍스트 문자열이 있습니다. PHP의 preg_replace
에 의해 실행될 수있는 정규 표현식이 필요합니다. 다른 링크를 건드리지 않고 모든 상대 링크를 루트 - 상대 링크로 대체 할 수 있습니다. 이미 루트 경로가 있습니다.상대 링크를 루트 상대 링크로 대체하는 정규식
대체 링크 :
<tag ... href="path/to_file.ext" ... > ---> <tag ... href="/basepath/path/to_file.ext" ... >
<tag ... href="path/to_file.ext" ... /> ---> <tag ... href="/basepath/path/to_file.ext" ... />
손길이 닿지 않은 링크 :
<tag ... href="/any/path" ... >
<tag ... href="/any/path" ... />
<tag ... href="protocol://domain.com/any/path" ... >
<tag ... href="protocol://domain.com/any/path" ... />
정규식이어야합니까? DOM 클래스를 사용하면 훨씬 더 정확한 결과를 얻을 수 있습니다. – webbiedave
기본 DOM 판독기가 올바르게 구문 분석 할 수있을만큼 DOM이 유효하다는 보장이 없으므로 정규 표현식이어야합니다. –