>

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

    다음 정규식을 사용할 수 있습니다 :

    ^(?=.*\/assets\/).*\/\K.*$
    
    

    ^  문자열의 시작 위치를 주장하십시오.

    (?=.*\/assets\/)   /assets/ 를 보장하는 긍정적 인 전망  문자열에 하위 문자열이 있습니다.

    .*  탐욕스럽게도 일치하십시오.

    \/  마지막 / 와 일치 .

    \K  운영자 재설정, 일치 재설정.

    .*$  문자열 $ 의 끝까지 아무것도 일치 .

    여기서 시도해보세요.

    <시간>

    PHP 스 니펫 :

    <?php
    $url = 'https://w...content-available-to-author-only...e.com/assets/screenshots/this-is-an-example/2016-12-20_15-42-29.png';
    preg_match('/^(?=.*\/assets\/).*\/\K.*$/',$url,$matches);
    print_r($matches[0]);
    
    

    인쇄 :

    2016-12-20_15-42-29.png
    
    

    여기서 시도해보세요.

  • 답변 # 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;

관련 자료

  • 이전 Taleo로 Google 태그 관리자를 어떻게 구성합니까?
  • 다음 javascript - 단일 정수 배열을 사용하여 다른 배열의 항목에 액세스 할 때 발생하는 상황