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