테스트 사이트 - 개발 중인 베타 버전입니다

정규식 질문입니다. 채택완료

머스마 3년 전 조회 1,845

/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg

 

여기에서

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

 

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트
B
3년 전

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

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

</p>

<p>$str = '/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg';</p>

<p>echo preg_replace('#/data/editor/\d+/#', '', $str);</p>

<p>// 결과 145ac6774604ae8d31c392ba622f3473_040059364307.jpg</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

3년 전

감사합니다 도움이 되었습니다(--)(__)

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

만일 저 같으면...

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

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

 

</p>

<p><?php

$url = "/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg";

echo substr($url, strrpos($url, "/") + 1);

?></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

머스마
3년 전
감사합니다 도움이 되었습니다(--)(__)

댓글을 작성하려면 로그인이 필요합니다.

3년 전

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

 

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

머스마
3년 전
감사합니다 도움이 되었습니다(--)(__)

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인