PHP Regex를 사용하여 앵커 태그 외부의 키워드를 일치시키는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-10-20 13:29:02
원래의
258명이 탐색했습니다.

How to Match Keywords Outside of Anchor Tags Using PHP Regex?

HTML 앵커 태그 외부에서 키워드 일치() PHP 정규식 사용

웹 개발에서 다음과 같은 상황이 발생할 수 있습니다. 하이퍼링크와 같은 특정 특정 영역을 피하면서 HTML 콘텐츠 내의 키워드를 일치시키고 교체해야 합니다. 이는 PHP 정규식을 사용하여 달성할 수 있습니다.

문제 설명:

당면 과제는 키워드 "키워드"와 일치하지만 제외하는 정규식 패턴을 찾는 것입니다. 앵커 태그(키워드) 내에 포함된 인스턴스.

해결책:

이 문제를 효과적으로 해결하려면 다음 PHP 정규식을 사용할 수 있습니다. 활용:

<code class="php">$str = preg_replace('~Moses(?!(?>[^<]*(?:<(?!/?a\b)[^<]*)*)</a>)~i',
                    '<a href="novo-mega-link.php"></a>', $str);</code>
로그인 후 복사

설명:

  • 모세: 이 부분은 단순히 "모세"라는 키워드와 일치합니다.
  • (?!: 이는 부정적 예측 주장의 시작을 나타냅니다.
  • (?>[^<]*(?:<(?!/ ?ab)[^<]*)*): 이 부분은 앵커 태그를 열지 않는 HTML이 아닌 태그 문자 또는 중첩 태그를 식별하는 재귀 패턴을 생성합니다.
  • : 닫는 앵커 태그와 일치합니다.
  • ): 이 괄호는 부정 예측 어설션을 닫습니다.
  • ~i: 대소문자를 구분하지 않는 수정자는 대문자와 소문자 "Moses" 모두에 대해 패턴이 작동하도록 만듭니다.

작동 원리:

처음에는 정규 표현식 "모세"와 일치합니다. 그러나 다음 조건이 충족되면 일치가 수행되지 않습니다.

  • 키워드 뒤에는 HTML이 아닌 일련의 문자가 와야 합니다.
  • 키워드는 다음과 같을 수 없습니다. 그 뒤에는 여는 앵커 태그가 옵니다.
  • 키워드 뒤에는 유효한 닫는 앵커 태그가 와야 합니다.

이러한 조건이 모두 충족되면 패턴이 키워드와 일치하지 않습니다. 이에 따라 교체 대상에서 제외됩니다.

위 내용은 PHP Regex를 사용하여 앵커 태그 외부의 키워드를 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!