Extra Form
PHP PHP 7.3
CMS GnuBoard

확장자가 .gif인 문자열을 찾아서 /img/test.jpg 로 변경할려고 합니다.

안될거라 생각하면서 아래 처럼 했는데 당연히도 안되네요

 

좀 고쳐주시면  감사합니다

 

(preg_replace("/\.gif/i", "/img/test.jpg", "$list[$i]['img']['src']"))

 

 

  • profile

    1. $list[$i]['img']['src'] 앞뒤에 따옴표 빼보세요.

    2. 그 변수에 들어있는 원본 문자열은 어떻게 생겼나요? 실제 예제를 보여주세요.

    3. 최종적으로 어떤 결과를 얻기를 원하시나요? 지금은 어떻게 나오나요?

  • ?

    제가 착각을 한거 같아서 새로 정리했습니다. 위 본문 질문preg_replac는 없는 셈치고요

     

    1. 원래 소스 ( 최신글에 썸네일을 불러오는 )

     

    <?php if($list[$i]['img']['src']) { // 있으면 출력 ?>
     

    2. gif 이미지도 썸네일로 불러와버리니 메인페이지  로딩 속도가 느려져 gif이미지는 썸네일로 안불러오게 하고 싶다고 

       질문결과  고맙게도 아래와 같은 답변을 받았습니다

    -----------------------------------------------------------------

     

    정규식으로 체크해서 .gif 확장자를 가지고 있으면 값 지우면 될 듯...

    if (preg_match("/\.gif/i", $list[$i]['img']['src'])) {
    $list[$i]['img']['src'] = '';
    }

     

     

    3. 약간의 삽질끝에 아래 처럼 적용했습니다

     

    <?php
    if (preg_match("/\.gif/i", $list[$i]['img']['src'])) {
    $list[$i]['img']['src'] = '';
    }
    ?>
     <?php if($list[$i]['img']['src']) { // 있으면 출력 ?

     

    4. 결과는 gif 는 안불러 와서 만족했습니다만...이왕이면 텅빈 썸네일 자리에 플레이 버튼이미지( /img/test.jpg)라도 넣으면 좋겠다 싶어서 다시 삽질 끝에 아래처럼 했습니다

     

    <?php
    if (preg_match("/\.gif/i", $list[$i]['img']['src'])) {
    $list[$i]['img']['src'] = '/img/playbutton.jpg';
    }
    ?>
     <?php if($list[$i]['img']['src']) { // 있으면 출력 ?>

     

    5. 결과는 gif는 썸네일에 안불러오고 플레이 버튼 이미지를 불러옵니다만 이게 구문이 맞는지 모르겠습니다. 

       맞게 된건지  틀려서 늦게 로딩되고 그런건 아닌지 그냥 이대로 쓰면 되는지 알고싶습니다

     

    긴글 읽어 주셔서 대단히 감사합니다 ^^