특정 문자 바꾸기 정규식 질문... 채택완료
$문자열값 =
<img src="http://abc1.com/an123sg/aaa.png" >
<img src="http://abc2.com/ansasg/bbb.jpg" >
<a href="http://aaa.com"><img src="http://abc3.com/aasdfang/ccc.gif" ></a>
결과는
$문자열값 =
<img src="https://abc1.com/an123sg/aaa.png" >
<img src="https://abc2.com/ansasg/bbb.jpg" >
<a href="http://aaa.com"><img src="https://abc3.com/aasdfang/ccc.gif" ></a>
이렇게 나오고 싶습니다.
</p>
<p>preg_replace('/<img(.*)(^http:$)(.*).+(png|jpeg|jpg|gif|webp)/g', 'https:', $문자열값);</p>
<p>
이렇게 짜봤지만.. 이리저리 하다 어렵네요..
<img 안에 있는 http:(특정 문자) 보이면 https:(바꾸려는 문자) 바꾸려고 하려면 어떻게 해야 되나요?
답변 3개
다음을 참조해 보시죠.
$data = '<img src="http://abc1.com/an123sg/aaa.png" >
<img src="http://abc2.com/ansasg/bbb.jpg" >
<a href="http://aaa.com"><img src="http://abc3.com/aasdfang/ccc.gif" ></a>';
$pattern = "#src=\"http(:\/\/.+\/.+\.\w{3})\"#isU";
$replace = "src=\"https$1\"";
$data = preg_replace($pattern, $replace, $data);
echo htmlspecialchars($data);
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
보안 때문에 http 에서 https 로 바꾸려고 합니다.
댓글을 작성하려면 로그인이 필요합니다.
str_replace('http://','https://','<img src="http://abc1.com/an123sg/aaa.png" >')
답변에 대한 댓글 1개
아.. 문자열값은 3개 다 포함입니다.
<img src="http://.......png">
<img src="http://.......jpg">
<img src="http://.......gif">
<img src="http://......."> // 확장자 없는 경우 제외
보이면 <img 안에 http: 라면 https: 한꺼번 바꾸려고 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
확장자가 4자리(jpeg,webp)면 w{3,4} 이렇게 바꾸면 되는군요.