다음 URL을 가지고 있습니다. http://domain.com/userfiles/dynamic/images/whatever_dollar_1318105152.png
url의 모든 내용은 userfiles 부분과 마지막 밑줄을 제외하고 변경할 수 있습니다. 기본적으로 나는 URL의 부분을 얻고 싶다 userfiles/dynamic/images/whatever_dollar_
이것을하는 좋은 방법은 무엇인가. 나는 열려 있거나 둘 다 JavaScript 또는 PHP.문자열의 특정 부분을 가져옵니다
답변
PHP에서 parse_url을 사용하여 다양한 부분에 URL을 분할합니다. 반환되는 부분은 path
입니다. 여기에는 도메인이없는 경로와 쿼리 문자열이 포함됩니다.
그런 다음 strrpos을 사용하여 경로 내에서 _
의 최종 출현을 찾으십시오.
substr을 사용하면 경로의 첫 번째 부분 (_
이 발견 될 때까지)을 복사 할 수 있습니다. 당신의 문자열을 가정
다른 옵션 : – FailedDev
감사 Parse_url 및 PHP_URL_PATH이 훌륭가있는 경우 URL에 대한 정규식을 사용하여 일하지 마십시오. 왜 URL에 정규식을 사용하지 마십시오 ??? regexp 방식을 사용하는 것이 더 효율적으로 보입니다. – Pinkie
정규식은 이와 같은 작업에서 거의 효율적이지 않습니다. 이 문제에 대해 두 줄 또는 세 줄의 코드를 저장할 수 있다고하더라도 화면 뒤에서 복잡한 복잡한 작업이 포함 된 복잡한 구문 분석기를 시작하게됩니다. 그리고이 간단한 경우 regexes는 몇 가지 간단한 함수보다 읽기 쉽지 않은 경우가 종종 있습니다. 그러나 정규 표현식으로 URL을 파싱하는 것이 정규 표현식으로 XML을 파싱하는 것만 큼 나쁘지는 않습니다. :) – GolezTrol
은 단순히 $ s의에 저장됩니다
echo preg_replace('/.*(userfiles.*_).*/', '$1', $s);
이봐,이 작품. 왜 그것을 다운 그레이드 했는가? – Pinkie
당신은, 자바 스크립트, 시도 할 수 :
var string = "http://domain.com/userfiles/dynamic/images/whatever_dollar_1318105152.png";
var newString = string.substring(string.indexOf('userfiles'),string.lastIndexOf('_'));
alert(newString); // returns: "userfiles/dynamic/images/whatever_dollar" (Without quotes).
참고 :
- 1. Java regex - 문자열의 특정 부분을 가져옵니다.
- 2. 문자열의 특정 부분을 바꿉니다.
- 3. Regexp는 문자열의 특정 부분을 무시합니다.
- 4. 문자열의 특정 부분을 어떻게 얻을 수 있습니까?
- 5. 문자열의 특정 부분을 가져 오는 방법은 무엇입니까?
- 6. 문자열의 특정 부분을 찾고 식별하는 방법은 무엇입니까?
- 7. 문자열의 특정 부분을 가져 오는 방법
- 8. 정규식에서 문자열의 특정 부분을 가져 오는 정규식
- 9. 문자열의 특정 부분을 X'es로 디코딩하고 인코딩 하시겠습니까?
- 10. 문자열의 특정 부분을 정규식으로 선택하려고 시도했습니다.
- 11. 거대한 문자열의 거대한 덩어리에서 특정 문자열의 부분을 어떻게 추출합니까?
- 12. 문자열의 하위 문자열을 모두 가져옵니다.
- 13. 문자열의 부분을 대체
- 14. 문자열의 시작 부분을 찾으십시오.
- 15. 자바에서 문자열의 부분을 잘라
- 16. 문자열의 마지막 문자를 가져옵니다.
- 17. 문자열의 특정 부분을 추출 할 때 Regex가 도움이됩니다.
- 18. 정규 표현식을 사용하여 Java에서 문자열의 특정 부분을 추출합니다.
- 19. 텍스트 파일에서 문자열의 특정 부분을 검색하여 MATLAB의 새 파일에 저장하십시오.
- 20. 따옴표에서 이메일 주소의 문자열의 특정 부분을 감싸 필요 (버전 2)
- 21. 문자열을 (날짜로) 나눔으로써 문자열의 특정 부분을 얻습니다 (한 달 단위)
- 22. 외부 파일에서 문자열의 특정 부분을 변수로 정의 할 수 있습니까?
- 23. 정규식으로 문자열의 끝 부분을 제거
- 24. PHP에서 문자열의 두 부분을 분리하십시오
- 25. 문자열의 나머지 부분을 공백으로 채우십시오.
- 26. 문자열의 부분을 UIView에서 굵게 설정하기
- 27. SQL 문자열의 다중 부분을 선택하십시오!
- 28. 문자열의 정수 부분을 구문 분석
- 29. PhoneGap에서 쿼리 문자열의 값을 가져옵니다.
- 30. 정규식을 사용하여 문자열의 패턴 색인을 가져옵니다.
http://php.net/manual/en/function.parse-url.php – dm03514