preg_replace_callback에 특정 문자가 포함되어 있지 않은 경우에만 일치를 반환하려고합니다.문자열에 문자가 포함되지 않은 경우 preg_replace_callback (regex)
그래서 문자열이 포함 된 경우 :
{xxxx}
리턴 매치. 가 포함되어있는 경우 :
{xxxx|xxxx}
이 일치하는 항목을 반환하지 않습니다.
\{(.*?!\|.*)}
감사 너희들 :
여기 내 시도입니다!
preg_replace_callback에 특정 문자가 포함되어 있지 않은 경우에만 일치를 반환하려고합니다.문자열에 문자가 포함되지 않은 경우 preg_replace_callback (regex)
그래서 문자열이 포함 된 경우 :
{xxxx}
리턴 매치. 가 포함되어있는 경우 :
{xxxx|xxxx}
이 일치하는 항목을 반환하지 않습니다.
\{(.*?!\|.*)}
감사 너희들 :
여기 내 시도입니다!
귀하의 전체 패턴이 될 것입니다 :
/{([^|]*)}/
일치 중괄호 감싸 파이프 이외의 문자.
당신은 character classes을 찾고 있습니다. 여기에 "|
를 제외한 모든 문자 "입니다 :
[^|]
이 /{([^|])*}/
을해야합니다. |
문자가없는 문자열은 물론 빈 문자열까지도 일치시킵니다.
이것은 "블랙리스트"접근 방식입니다. 유효한 문자가 무엇인지 알고 싶다면 문자열에 #[email protected]~<?>":'{}[]
과 같은 문자를 허용하므로 "화이트리스트"접근법 (문자 클래스 []
에 허용 된 문자 목록)을 사용해야합니다.
왜이 변경 사항을 적용하면 내 localhost apache 서버가 손상됩니까? –
예. 내가 필요한 것. 감사 :) –