홈>
SQL 파일을 통해 검색하고 URL에
/assets/
가 포함 된 파일 이름 (URL 끝)을 찾아야합니다.
예 URL :
https://www.example.com/assets/screenshots/this-is-an-example/2016-12-20_15-42-29.png
와이즈 비즈 그 안에 URL의 마지막 부분을 얻고 싶습니다 :
/assets/
다른 예 :
2016-12-20_15-42-29.png
https://www.example.com/images/screenshots/this-is-an-example/2016-12-20_15-42-29.png
때문에 아무것도 반환하지 않습니다
찾을 수 없습니다.
* 깊숙한 디렉토리 수는 달라 지므로
/assets/
가 될 수 있습니다.
다음은
/assets/dir1/dir2/filename.jpg
가 될 수 있습니다.
이것은 정규 표현식을 사용하여 달성 할 수 있기를 바랍니다.
/assets/dir1/dir2/dir3/dir4/filename.jpg
-
답변 # 1
-
답변 # 2
개요 한대로
basename()
이 문제를 해결하는 좋은 방법이 될 것입니다.하지만, 원하는 방식으로 정규식을 사용하거나 방화벽 패턴 필드에 적용해야하는 경우
@^.*?/assets/.*?/([^/]+\.\w{3})$@
(구분자
@
참고 패턴에/
가 많이 포함되어 있기 때문에 -당신은 ofc./
에 충실 구분 기호로 사용하지만 모든/
를 탈출해야합니다. 패턴으로.)https://regex101.com/r/wKhMAk/1
-
답변 # 3
시도해주세요 :
와이즈 비즈 URL에/assets/검색 문자열이 있는지 확인합니다.
존재하는 경우
strpos()
가 제공 한 URL에서 검색 문자열의 위치를 반환합니다. . 그렇지 않으면 false를 반환합니다.여기서 나는 삼항 연산자를 사용하여 조건을 평가합니다. 위에서 말했듯이 검색 문자열이 존재하면 경로의 파일 이름을 반환합니다 (
$url
) 함수$url
를 통해 검색 문자열을 찾지 못하면 비어 있음을 반환했습니다.basename()
$url = "https://www.example.com/images/assets/screenshots/this-is-an-example/2016-12-20_15-42-29.png"; $endOfUrl = strpos($url, '/assets/') !== false ? basename($url) : ''; echo $endOfUrl;
관련 자료
- php - 문자열에 특정 문자가 포함되어 있는지 확인하는 방법
- c# - Task에서 특정 값을 반환
- javascript - 자녀가 특정 텍스트/문자열을 포함하는 경우 부모 div를 숨기는 방법?
- javascript - 자식 div에 특정 텍스트가있을 때 부모 div를 숨기려면 어떻게합니까?
- Exclude a certain directory while (find command) - (find 명령) 동안 특정 디렉토리를 제외하십시오세게 때리다
- regex - htaccess - 디렉토리 목록과 특정 파일 확장자 만 액세스 할 수 있습니다
- import - os 모듈을 사용하여 Python의 현재 작업 디렉토리 바로 위에있는 디렉토리 이름을 반환합니다
- C # NET Core 31을 사용하는 특성이있는 그룹 구성원에 대한 Active Directory 반환
- javascript - 특정 html 태그를 제거하고 다른 모든 태그와 함께 나머지 문자열을 반환합니다
- go - 응답 헤더에 특정 문자열이 포함되어 있는지 어떻게 확인할 수 있습니까?
- python - 입력을 통해 단어를 입력하고 싶습니다 단어에 영어가 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다
- microsoft excel - 검색 문자열이 조회 값의 어느 곳에 나 나타날 수있는 "포함 유형"일치를 사용하여 여러 값을 반환하도록 vlookup하는 방법
- python - 여러 목록 중에서 원하는 값이 포함 된 목록을 어떻게 찾고 반환합니까?
- c# - net Linq 명령이 특정 필드를 반환하지 않음
- c# - 사용자에게 앱의 특정 디렉토리를 가져 오는 방법
- bash - 이름에 특정 문자열이있는 모든 디렉토리 (및 하위 디렉토리)를 복사합니다
- javascript - 특정 텍스트가 포함 된 역할이 있는지 어떻게 확인합니까?
- 찾기 - slackbuild 파일이 포함 된 디렉토리를 찾는 방법은 무엇입니까?
- sql server xml - xml 열의 노드를 포함하는 xml 반환
- json을 필터링하고 Python에 특정 단어가 포함 된 경우 다른 파일에 저장
관련 질문
- php - PCRE 정규식을 사용하여 파일과 같은 여러 줄 ini 구문 분석
- php - 대괄호 사이의 줄 바꿈 및 탭을 일치시키는 정규식
- php - @의 공백은 링크의 사용자 이름과 소문자를 언급합니다
- regex - PHP에서 문자열의 일부 내용을 유지하면서 대괄호를 바꾸는 방법은 무엇입니까?
- regex - PHP의 정규 표현식 preg_replace 명령에서 패턴 바꾸기에 '\ 1'을 포함하는 방법
- php - 이름에 포함 할 bb 따옴표 (이름 및 링크 경로 용)에 대한 정규식?
- php - 오른쪽 중괄호가 하나만 포함 된 일치하는 줄
- php - 점 문자와 일치하지 않도록 정규식 수정
- regex - PHP 변수 내에서 특정 텍스트를 찾은 다음 양쪽 문자 사이의 모든 텍스트를 바꾸는 방법
- regex - PHP 정규식에 생략 패턴 추가
다음 정규식을 사용할 수 있습니다 :
^
문자열의 시작 위치를 주장하십시오.(?=.*\/assets\/)
/assets/
를 보장하는 긍정적 인 전망 문자열에 하위 문자열이 있습니다..*
탐욕스럽게도 일치하십시오.\/
마지막/
와 일치 .\K
운영자 재설정, 일치 재설정..*$
문자열$
의 끝까지 아무것도 일치 .여기서 시도해보세요.
<시간>PHP 스 니펫 :
인쇄 :
여기서 시도해보세요.