정규식 질문입니다.
본문
/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 구분자를 "/'로 하여서 마지막 배열 값을 얻어내도 됩니다.
정규식에서 들어가는 문자는 \문자를 앞에 붙이시면 문자열로 인식하게 할 수 있습니다
\/ 이런식으로 활용하시면 됩니다
만일 저 같으면...
정규표현식 보다는 뒤에서부터 strrpos 로 문자열을 추적하여 / 의 위치를 찾아 더하기 1을 해주고
substr 로 추출해 내는 것이 가장 간명해 보입니다만...
<?php
$url = "/data/editor/2111/145ac6774604ae8d31c392ba622f3473_040059364307.jpg";
echo substr($url, strrpos($url, "/") + 1);
?>
감사합니다 도움이 되었습니다(--)(__)
답변을 작성하시기 전에 로그인 해주세요.