찾다

 >  Q&A  >  본문

문자열의 텍스트를 바꾸고 HTML 태그의 일치 항목을 무시합니다.

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

이것을 예로 들어보세요:

으아악

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

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

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

)를 피하고 싶습니다.

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

모든 응답(1)나는 대답할 것이다

  • P粉594941301

    P粉5949413012024-03-28 12:56:47

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

    으아악

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

    으아악

    이제 한걸음씩

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

    회신하다
    0
  • 취소회신하다