문자열의 텍스트를 바꾸고 HTML 태그의 일치 항목을 무시합니다.
P粉676821490
P粉676821490 2024-03-27 19:23:55
0
1
300

주어진 문자열(보통 단락)에 대해 일부 단어/문구를 바꾸고 싶지만 어떤 방식으로든 태그로 둘러싸여 있으면 무시합니다. 또한 대소문자를 구분하지 않아야 합니다.

이것을 예로 들어보세요:

으아악

다음 단어를 바꾸고 싶다고 가정해 보겠습니다.

  • link:出现 2 次。第一个是纯文本(匹配),第二个是 A 표시(무시)
  • 公共平台:纯文本(匹配,不区分大小写),B 태그의 두 번째(무시됨)
  • softpillows: 일반 텍스트 일치 1개.
  • fox: 일반 텍스트 일치 1개. 완전한 단어를 봅니다.
  • fruits:纯文本(匹配),span 다른 텍스트와 함께 태그의 두 번째(무시됨)

배경으로 구문 일치(개별 단어 아님)를 검색하고 일치 항목을 관련 페이지에 연결합니다.

중첩된 HTML(태그 내에서 bold no linksthe <a href="#">phrase <b>goes</ a> 这里</b> 또는 그 반대) 또는 기타 오류(예:

)를 피하고 싶습니다.

HTML 콘텐츠가 제거된 텍스트의 삭제된 복사본을 검색하는 등 몇 가지 작업을 시도했는데 일치하는 항목이 있다는 것을 알려주는 동안 이를 원래 콘텐츠에 다시 매핑해야 하는 완전히 새로운 문제에 직면했습니다. 🎜
P粉676821490
P粉676821490

모든 응답(1)
P粉594941301

regex negative lookahead에 대한 언급을 찾았고 마음이 무너진 후 이 정규식을 얻었습니다( VALID html 태그 쌍이 있다고 가정)

으아악

기본 매개변수를 사용한 출력 예

으아악

이제 한걸음씩

  1. 다음 경기 없음(만약 pillowS,我们就不需要 pillow)
  2. 텍스트 뒤에 임의의 길이의 w 单词符号、s 空格或 n 换行符和 允许以开始结束标记 结尾的标点符号 - 我们不需要这个匹配,这里出现了否定的先行 (?![wns>$标点符号]*?)。在这里我们可以确定匹配不会进入新标签,因为 不在描述的序列中($excludeOutside 변수가 오는 경우)
  3. $excludeTag 变量与 $excludeOutside 基本相同,但适用于 $toReplace 可以是 html 标签本身的情况,例如 一个
이 코드는 >로 텍스트를 덮어쓸 수 없으며 이러한 기호를 사용하면 예기치 않은 동작이 발생할 수 있습니다
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿