>  Q&A  >  본문

*기울임꼴*과 같은 문자열을 <i>기울임꼴</i>로 변환합니다. 단, 개행 문자가 별표 제한 내에 있는 경우에는 변환하지 않습니다.

내 PHP 코드에는 다음과 같은 정규 표현식이 있습니다:

으아악

잘 작동합니다.

그러나 $line 持有 <br>, 예를 들어

으아악

그런 다음 정규식은 여전히 ​​텍스트를 고려하여 다음으로 변환합니다.

으아악

목표는 <br>가 나타나면 텍스트를 번역하지 않는 것입니다. 정규식을 사용하여 이 작업을 수행하려면 어떻게 해야 합니까? "부정적 예측"을 사용하거나 기존 정규식을 어떻게 변경합니까?

참고: *This is my text*<br>Some other text<br> 和再次 *italic*<br>END와 같은 문자열은 여전히 ​​고려하고 변환해야 합니다.

아이디어: 아니면 분해$line한 다음 정규식을 사용하여 결과를 반복해야 합니까? !

P粉262073176P粉262073176177일 전328

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

  • P粉396248578

    P粉3962485782024-03-30 20:42:40

    원하지 않는 것을 일치시키고 폐기 기술을 사용하면 PHP(PCRE)에서 다음 정규식을 사용할 수 있습니다.

    으아악

    로 바꿉니다.

    정규 표현식 데모

    PHP 코드:

    으아악

    지침:

    • *:匹配*
    • [^*]*:匹配 0 个或多个非 * 문자

    • :匹配
    • *:匹配结束 *
    • (*SKIP)(*F): 이 일치 항목을 버리고 건너뛰는 PCRE 동사
    • <代码>|: 또는
    • *([^*]*)*:匹配 *동봉된 문자열

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