PHP에서이 정규식 코드를 완성하는 데 어려움을 겪고 있습니다.PHP에서 regex를 사용하여 URL을 트리밍하는 방법은 무엇입니까?
http://www.site.net/showthread.php?tid=324&pid=...
에 :
showthread.php?tid=324
친절 감사가에서 들어가도록 나는 변수 $ 텍스트에서 개최되는 다음 URL을 아래로 다듬을!
PHP에서이 정규식 코드를 완성하는 데 어려움을 겪고 있습니다.PHP에서 regex를 사용하여 URL을 트리밍하는 방법은 무엇입니까?
http://www.site.net/showthread.php?tid=324&pid=...
에 :
showthread.php?tid=324
친절 감사가에서 들어가도록 나는 변수 $ 텍스트에서 개최되는 다음 URL을 아래로 다듬을!
정규식을 사용해야하는 이유는 무엇입니까? http://php.net/manual/en/function.parse-url.php
편집 : $ urlParts는 [ '경로']을 시작/당신이 그것을 원하지 않았기 때문에 작업 예를
$someurl = 'http://www.site.net/showthread.php?tid=324&pid=...';
$urlParts = parse_url($someurl, PHP_URL_PATH | PHP_URL_QUERY);
$params = parse_str($urlParts['query']);
unset($params['pid']);
$queryString = http_build_query($params);
$newUrl = $urlParts['path'] . '?' . $queryString;
, 당신도 사용할 수있는 parse_url 방법은 당신이 원하는 당신에게 모든 것을 제공해야
$newUrl = substr($newUrl, 1);
: 수행해야합니다. 전혀 도움이 되나요?
안녕하세요, 맞습니다. 더 쉬운 솔루션입니다. 감사합니다. 하나! Pid는 tid (내가 볼 수있는)에서 분리되지 않습니다. – user1088793
당신은 http://php.net/manual/en/function.parse-str.php를 사용할 수 있습니다. – Pelshoff
@ user1088793은'&' – fge
이 그것을 할해서는 안 :
$url = 'http://www.site.net/showthread.php?tid=324&pid=...';
$pattern = "/showthread.php\?tid=[0-9]+/";
if (preg_match($pattern, $url, $match))
print_r($match);
성공 사례 : gracias! – user1088793
(가)'및'는 특별한 의미가 없습니다 탈출 할 필요가 있습니다. PHP는 이미 URL 파싱 라이브러리를 가지고 있지 않습니까? – fge
@fge 예, 예 그렇습니다.^_^ – Neal
URL에서 파일 이름을 추출 하시겠습니까? 아니면 href를 추출 할 앵커가 포함 된 HTML 스 니펫이 있습니까? 둘 다 당신의 질문에 있습니다. –