정규식 질문입니다.

정규식 질문입니다.

QA

정규식 질문입니다.

본문

/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg

 

여기에서

/data/editor/2111/ 를 지우고 싶습니다

 

다만 2111은 날짜라서 매번 글자가 달라지는데요

/ 이게 특수문자라서 어떻게 진행해야하는지 잘 이해를 못하겠습니다ㅠㅠ

이 질문에 댓글 쓰기 :

답변 5

* basename(), pathinfo() 등의 함수 이용이 더 편합니다만…

(패턴 다양한데) 그냥 간단하게 아래처럼 치환(제거)하면 됩니다.


$str = '/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg';
echo preg_replace('#/data/editor/\d+/#', '', $str);
// 결과 145ac6774604ae8d31c392ba622f3473_040059364307.jpg

파일명만 추출하고 싶으신거라면 굳이 정규식을 사용하지 않고 php 기준으로 explode 구분자를 "/'로 하여서 마지막 배열 값을 얻어내도 됩니다.

 

정규식에서 들어가는 문자는 \문자를 앞에 붙이시면 문자열로 인식하게 할 수 있습니다

\/ 이런식으로 활용하시면 됩니다

https://www.php.net/manual/en/function.basename.php

참고하세요.

만일 저 같으면...

정규표현식 보다는 뒤에서부터 strrpos 로 문자열을 추적하여 / 의 위치를 찾아 더하기 1을 해주고

substr 로 추출해 내는 것이 가장 간명해 보입니다만...

 


<?php
$url = "/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg";
echo substr($url, strrpos($url, "/") + 1);
?>
답변을 작성하시기 전에 로그인 해주세요.
전체 220
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT