정규 표현식에서 문자열을 만들려고합니다. Kohana 프레임 워크의 라우팅 시스템에서 정규 표현식과 비슷한 것을 사용하여 라우트를 설정할 수 있다는 것을 알았습니다. 그런 다음 설정 한 경로와 일치하는 URL을 만들 수 있습니다. 나는 비슷한 것을하려고 노력하고 있지만, 그것을 할 수있는 깨끗한 방법을 찾을 수는 없습니다. 내가 예를 들어 다음과 같은 정규 표현식있어 : 나는 "응용 프로그램" "A", "컨트롤러" "B"를 동일 동일 말할 수 있도록하려면 지금정규식에서 문자열 만들기 PHP
/^(?<application>\w+)\/(?<controller>\w+)\/(?<method>\w+)\/(?<parameters>\w+)\/?$/
를, "방법", "C"를 동일 "parameters"는 "d"와 같습니다. 그런 다음 지정된 값으로 부품을 대체하는 문자열을 가져와야합니다. 나는 이것을 할 수있는 좋은 방법을 찾을 수 없습니다. 기본적으로 두 가지 방법을 생각했습니다 : 1) 정규 표현식의 해당 값을 지정된 값으로 바꾸거나 2) 문자열을 작성하고 "적절한"문자열로 쉽게 변환 할 수있는 사용자 정의 "정규식 구문"을 작성하십시오 "필요한 경우 정규 표현식. Kohana는 후자를 사용하지만, 두 방법 모두 나에게 상당히 나쁜 것처럼 들립니다. 어떻게 할거 니?
편집 : 조금 명확히하려고합니다. 예를 들어 preg_match()
: "myApplication/myController/myMethod/myParameters"를 사용하여 위의 정규 표현식에 다음 문자열을 전달합니다. 이렇게하면 "application", "controller", "method"및 "parameters"인덱스가있는 4 개의 항목과 해당 값이 포함 된 두 개의 항목이있는 배열이 반환됩니다. 이제는 정규 표현식의 패턴을 사용하여 "myApplication/myController/myMethod/myParameters"라는 문자열을 만들어야합니다. 어떻게 PHP를 사용하여 이것을 할 수 있습니까?
이것은 명확하지 않습니다. 입력 문자열과 해당 출력 문자열의 예를 들어 주시겠습니까? –
저는 PHP와 정규 표현식에 매우 익숙하지만, 당신이 무엇을 요구하고 있는지 전혀 알지 못합니다. 귀하의 질문은 제게 의미가 없으므로, 질문을 처음부터 수정하는 것이 좋습니다. 그러나 누가 알겠습니까? 아마도 다른 사람이 이해할 수 있습니다. – Gerry
@Oli Charlesworth, Gerry : 이해하기 힘들 것 같아요. 직접 설명하는 데 어려움을 겪고있었습니다 ... 나는 몇 가지 텍스트를 추가했으며 지금은 더 명확 해 지길 바랍니다. – Frog