switch문으로 만들어주세여~~!! > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

switch문으로 만들어주세여~~!! 정보

switch문으로 만들어주세여~~!!

본문

<? for ($i=0; $i<count($list); $i++) {

   $sf = $list[$i][bf_file];
   $file_0 = "$g4[path]/data/file/" .$list[$i][bo_table] ."/" .$list[$i][bf_file];
   preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);

   /* 아래 내용을 switch로 만들고 싶어여 */
   if (file_exists($file_0) && preg_match("/\.(gif|jp[e]?g|png)$/i", $sf)) { 
    $file_img = $file_0;

   } else if (file_exists($file_0) && preg_match("/\.(hwp|xls|ppt|pdf|doc|txt)$/i", $sf)) {
    $file_img = "$member_skin_path/img/co_btn_doc.gif";

   } else if (file_exists($file_0) && preg_match("/\.(mp3|wma|wmv|wav|mid|avi|mov|mp[e]?g|asf)$/i", $sf)) {
    $file_img = "$member_skin_path/img/co_btn_player.gif";

   } else if (file_exists($file_0) && $sf) {
    $file_img = "$member_skin_path/img/co_btn_file.gif";

   } else if ($images[1]) { 
     $file_img = $images[1];

   } else {
     $file_img = "$member_skin_path/img/co_btn_noimg.gif";
   }
?>

switch( ) 안에 변수가 들어가야 한다고 들었는데, 위와 같은 경우 어떻게 넣어주어야 하는지 모르겠어여!!

그리고, switch문으로 만들어주세여~ ♡ ^^

많이많이 도와주세여~~~
  • 복사

댓글 전체

위의 프로그램을 아래와 같이 switch문을 사용해봤습니다.
도움이되셨길 바랍니다.

<? for ($i=0; $i<count($list); $i++) {

  $sf = $list[$i][bf_file];
  $file_0 = "$g4[path]/data/file/" .$list[$i][bo_table] ."/" .$list[$i][bf_file];
  preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);


  if ($images[1]) {
      $file_img = $images[1];
  } else {
      $file_img = "$member_skin_path/img/co_btn_noimg.gif";
  }

  if ( file_exists($file_0) ) {
  switch(TRUE) {

case (preg_match("/\.(gif|jp[e]?g|png)$/i", $sf)) :
    $file_img = $file_0;
    break;
case (preg_match("/\.(hwp|xls|ppt|pdf|doc|txt)$/i", $sf)) :
    $file_img = "$member_skin_path/img/co_btn_doc.gif";
    break;
case (preg_match("/\.(mp3|wma|wmv|wav|mid|avi|mov|mp[e]?g|asf)$/i", $sf)) :
    $file_img = "$member_skin_path/img/co_btn_player.gif";
    break;

default :
    $file_img = "$member_skin_path/img/co_btn_file.gif";
    break;
  }
  }

?>


* 도움이 되셨다면 답변 채택하여주세요
<? for ($i=0; $i<count($list); $i++) {

  $sf = $list[$i][bf_file];
  $file_0 = "$g4[path]/data/file/" .$list[$i][bo_table] ."/" .$list[$i][bf_file];
  preg_match("`<\s*img\s+src\s*=\s*['|\"]?([^'|\"\s]+://[^'|\"\s]+\.(gif|jpe?g|png))['|\"]?\s*[^>]+`i", $list[$i]['wr_content'], $images);

if ( file_exists($file_0) || $images ) {
switch(TRUE) {
case (preg_match("/\.(gif|jp[e]?g|png)$/i", $sf)) :
    $file_img = $file_0;
    break;
case ($images[1]) :
$file_img = $images[1];
break;
case (preg_match("/\.(hwp|xls|ppt|pdf|doc|txt)$/i", $sf)) :
    $file_img = "$member_skin_path/img/co_btn_doc.gif";
    break;
case (preg_match("/\.(mp3|wma|wmv|wav|mid|avi|mov|mp[e]?g|asf)$/i", $sf)) :
    $file_img = "$member_skin_path/img/co_btn_player.gif";
    break;
case ($sf) :
$file_img = "$member_skin_path/img/co_btn_file.gif";
    break;
default :
    $file_img = "$member_skin_path/img/co_btn_noimg.gif";
  }
}
?>

마지막 default는 switch 변수값이 적용되지 않기 때문에 noimg 처리!

그런데, 원소스대로 적용해도 괜찮을 듯...
© SIRSOFT
현재 페이지 제일 처음으로