내가 잘 작동 다음 정규식 패턴이 : 나는 다음과 같은 예를 들어, 입력 지원 있도록 확장 할 그러나검증과 특별히 포맷 문자열을 일치
#^(.+?)=(.+?)$#D
을 :
텍스트를 = 좀 더 텍스트, 뭔가
텍스트 = 좀 더 텍스트, 뭔가, 뭔가
텍스트 = 좀 더 텍스트, 그래서 mething, 뭔가 당신은 위의 예에서 볼 수 있듯이 뭔가
은 세미콜론 (;
) 문자가 구분자로 사용하는 경우와 (이 텍스트 사이) 텍스트를 분리해서하는 데 사용됩니다 입력.
아래와 같은 정규식 패턴을 사용할 수 있습니다 - theres가 하나 일 때만 작동하지만 세미콜론으로 더 많은 텍스트가 분리 된 경우에는 그렇지 않습니다 ... 아마 다음과 같은 내용을 추가 할 수 있습니다. [;]*
하지만 유효성 검사가 해당 형식으로되어 있는지 확인하기를 원합니다 (세미콜론을 텍스트 사이에서만 사용할 수는 없습니다).
#^(.+?)=(.+?);(.+?)$#D
그것은 내가 현재 (그래서 경기가 array()
형태로 활용 될 수있다) PHP의 preg_match()
기능을 사용하고 도움이된다면.
내가 생각할 수있는 유일한 방법으로 정규 표현식을 사용하는 것에 국한되지 않으므로 다른 방법이나이 방법과 함께 사용할 수있는 모든 방법을 환영합니다 (결과를 제공하는 것은 쉽게 얻을 수 있습니다. 배열 LOL).
또한이 글을 쓰면서 (태그 시스템을 통해 깜박임) 뉴스 플래시가 있음을 알려드립니다 ... 을 사용하여 PCRE
재귀 기능을 사용하는 것이 가능한 해결책 일 수 있습니까?
감사의 인사와 도움을 주신 모든 분들께 감사드립니다.
#^(.+?)=((.+?)(;)?)+$#D
흠, 그런 생각은하지 않았지만 정확한 양식을 보장 할 수 있을까요? – user962026
예제가 있으면 잘 작동합니다. – Amber
감사합니다. array_map ('trim', $ arr)과 array_filter()의 조합으로 explode()를 사용하여 잘못된 항목을 제거했습니다. – user962026