채택완료

preg_replace 패턴식 질문..

2020-09-19 (토) 13:13:46 3,625

https://pics.images.com/cover/Asw4n_b.jpg  이건 큰이미지고

.

.

https://pics.images.com/cover/6sw5s_b.jpg

https://pics.images.com/thumb/Asw4n.jpg  작은 이미지인데요.

.

.

https://pics.images.com/thumb/6sw5s.jpg

$img01 = 'https://pics.images.com/cover/Asw4n_b.jpg';

img02 = preg_replace('#/cover/#', '/thumb/', $img01);

echo $img02;

cover -> thumb 바꾸고, Asw4n 그대로 가져와서

끝에 _b 지우고 넣으려고 합니다.

어떻게 하면 될까요?

초짜라서 패턴식으로 하니 너무 어렵네요. ㅠ.ㅠ

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트

img02 --> $img02 이 문제는 아닌가요?

정규식이 어려우면 str_replace를 사용하면 안되는 이유가 잇나요?

$mg02 = str_replace('/cover/', '/thumb/', $img01);

$mg02 = str_replace('_b.jpg', '.jpg', $img02);

답변에 대한 댓글 1개

매번 답변해주셔서 감사합니다. ㅠ.ㅠ

한번 아니고 두번 걸쳐서 해야 되나 보네요.

가르쳐주셔서 좋은 공부가 됐습니다.

그냥 단순하게 그룹으로 캡쳐해 보세요.

https://www.php.net/manual/en/function.preg-replace.php

패턴은 단순하게 적으면

#^https:\/\/pics.images.com\/(cover)\/(.*)_b\.jpg#

현재는 cover가 그룹1으로 _b 이전까지의 이름이 그룹 2입니다.

편하게 변경해서 사용하세요.

답변에 대한 댓글 1개

이런 방법도 있군요. 좋은 공부가 됐습니다.

먼저번 채택하게 되서 채택못하니.. ㅠ.ㅠ

답변해주셔서 감사합니다.

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