php구문을 하나의 div로 감싸기
본문
<?php
if ($is_category && $list[$i]['ca_name']) { ?>
<?php
$list[$i]['ca_name'] = str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);
}
?>
이 구문을 하나의 div로 감싸려면 어떻게 해야할까요 ?
div태그안에 넣으면 쉬운데,
지금 코드 하단에 $list[$i]['ca_name']를 출력하는 구문이 한개 더있다보니까, 하단에 있는 $list[$i]['ca_name']구문에 적용이 되더라구요... 중복문제가 아닌가 싶네요 ㅠㅠ
!-->답변 2
위 코드가
$list[$i]['ca_name'] 의 값을 치환하여 치환된 결과값을 저장하는 로직이기 때문에
해당 로직 하단에서
$list[$i]['ca_name'] 의 값은 치환이 된 후의 값을 갖고 있게 됩니다.
출력하는곳이 두군데인데 한군데는 A.치환 된 후, 한군데는 B.치환되기 전의 값을 출력하고싶고,
출력 순서가 A -> B 라면
A 출력전에 변수의 값을 바꾸지 마시고 치환결과만 출력하신 다음
echo str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);
B를 출력하시면 될것 같네요
echo $list[$i]['ca_name'];
A,B 모두 출력 후에 최종적으로 $list[$i]['ca_name'] 의 값이 치환 후의 값을 갖길 원하시는건지 원본 값을 원하시는건지 모르겠지만,
최종적으로 원하는 값이 치환 후의 값이라면
$ca_name_bak = str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);
// A출력
echo $ca_name_bak;
// B출력
echo $list[$i]['ca_name'];
// 최종적으로 치환 된 후 값으로 변경
$list[$i]['ca_name'] = $ca_name_bak;
하단부의 ca_name은
<span style="font-size:11px; padding-bottom:10px; width:100%;"><?php echo $list[$i]['ca_name']; ?><span>
이렇게 있습니다.
위에 있는 php를 삽입하면 하단부의 ca_name 부분이 수정이 되버리네요 ㅠㅠ
!-->
답변을 작성하시기 전에 로그인 해주세요.