에서 추출 매개 변수 : 나는 기본적으로이 문자열에서 a
매개 변수의 값을 얻으려면REGEX : URL
/?c=135&a=1341
.
감사합니다, 당신은의 값을 추출 할, 값이 많은 자리 하나 구성된 경우
에서 추출 매개 변수 : 나는 기본적으로이 문자열에서 a
매개 변수의 값을 얻으려면REGEX : URL
/?c=135&a=1341
.
감사합니다, 당신은의 값을 추출 할, 값이 많은 자리 하나 구성된 경우
는이 정규식 작동합니다 :
preg_match("/a=(\\d{1,})/ui", $_SERVER['REQUEST_URI'], $matches)
그런 다음 a
값을 표시 $matches[1]
를 사용
나는이 일을 할 수 없었다. 그러나 나는 다음 해결책을 발견 할 수 있었다 :'preg_match ("/ \? c = (\ w +) \ & a = (\ w +)/i ", $ _SERVER [ 'REQUEST_URI'], $ matches); 도움을 주셔서 감사합니다 ... –
물론 PHP에서는 위의 내용이됩니다 : preg_match ("/ a = (\\ d {1,})/ui ", $ searchText) –
완료. 이 작동합니다. 그래, 내가 PHP를 사용하기 전에 그것을 지적 했어야했다. 모든 것이 잘 작동합니다 ... t –
나는 당신이 제안한 약간 더 일반적인 질문에 대답하려고합니다. 접두어를 사용하여 URI 요청 문자열에서 특정 매개 변수를 제거하려고합니다. 그리고이 경우 mod_rewrite 엔진을 사용하여 .htaccess 파일에이를 구현할 수 있습니다.
쿼리 매개 변수 a = XXX가 어디에 있는지 반드시 알 필요가 없으므로 규칙이 다소 복잡하므로 a가 먼저 있고 a가 후속 매개 변수 인 경우 다른 정규식이 필요합니다. 당신은 ((?=a=)regexp1|regexp2)
하여이 작업을 수행 그래서 여기있다 :
RewriteEngine on
RewriteBase \
RewriteCond %{QUERY_STRING} ^(?(?=a=)a=[^&]*&?(.*)|(.*)&a=[^&]*(&.*)?)
RewriteRule ^.* $0?%1%2%3 [L]
A가 처음 % 1 그렇지 않으면 % 2 % 3 북 엔드가 (% 3이 비어있을 수 있습니다) 나머지를 포함합니다.
특정 스크립트에 대해이 작업을 수행하려면 regexp ^.*
규칙을 더 구체적인 스크립트로 바꿉니다.
즐기기 :-)
이 url에는 두 개의 매개 변수가 있습니다. 어느 쪽이 원하는거야? – bmargulies
내 질문에 지적한대로, 나는'a '값을 추출하려고합니다. 나는 이미 그것을 풀었다. 대답 형식'bunting'을 보자. –