테스트 사이트 - 개발 중인 베타 버전입니다

php구문을 하나의 div로 감싸기 채택완료

qoqofh 4년 전 조회 2,476

</p>

<p><?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']);

}

?></p>

<p>

 

이 구문을 하나의 div로 감싸려면 어떻게 해야할까요 ?

 

div태그안에 넣으면 쉬운데, 

 

지금 코드 하단에 $list[$i]['ca_name']를 출력하는 구문이 한개 더있다보니까, 하단에 있는 $list[$i]['ca_name']구문에 적용이 되더라구요... 중복문제가 아닌가 싶네요 ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
식쏭
4년 전

위 코드가 

$list[$i]['ca_name'] 의 값을 치환하여 치환된 결과값을 저장하는 로직이기 때문에

해당 로직 하단에서 

$list[$i]['ca_name'] 의 값은 치환이 된 후의 값을 갖고 있게 됩니다.

출력하는곳이 두군데인데 한군데는 A.치환 된 후, 한군데는 B.치환되기 전의 값을 출력하고싶고, 

출력 순서가 A -> B 라면

 

A 출력전에 변수의 값을 바꾸지 마시고 치환결과만 출력하신 다음

</p>

<p>echo <span style="white-space: pre-wrap; font-size: 0.875em;">str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);</span></p>

<p>

 

 

B를 출력하시면 될것 같네요

</p>

<p><span style="font-size: 12.25px; white-space: pre-wrap;">echo </span><span style="white-space: pre-wrap; font-size: 0.875em;">$list[$i]['ca_name'];</span></p>

<p> </p>

<p>
A,B 모두 출력 후에 최종적으로 $list[$i]['ca_name'] 의 값이 치환 후의 값을 갖길 원하시는건지 원본 값을 원하시는건지 모르겠지만, 최종적으로 원하는 값이 치환 후의 값이라면

 

</p>

<p>$ca_name_bak = <span style="white-space: pre-wrap; font-size: 0.875em;">str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);</span>



// A출력</p>

<p>echo $ca_name_bak;</p>

<p> </p>

<p>// B출력</p>

<p>echo <span style="white-space: pre-wrap; font-size: 0.875em;">$list[$i]['ca_name'];</span></p>

<p> </p>

<p><span style="white-space: pre-wrap; font-size: 0.875em;">// 최종적으로 치환 된 후 값으로 변경</span></p>

<p><span style="white-space: pre-wrap; font-size: 0.875em;">$list[$i]['ca_name'] = </span>$ca_name_bak;</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

q
qoqofh
4년 전
아 .... 그렇네요..ㅋ.ㅋ감사합니다.

그러면 혹시

echo str_replace($list[$i]['ca_name'], '<span style="color:#f00">' . $list[$i]['ca_name'] . '</span>', $board['bo_category_list']);

여기가 이제 선택된 카테고리는 span안에 들어있는데, 선택되지 않은카테고리도, 각각 span태그로 감싸려면 어떻게 해야할까요?
q
qoqofh
4년 전
. '<span>', $board['bo_category_list'] . '</span>'

이렇게 하면 감싸는 지긴 하지만, 선택되지 않은카테고리 전부가 하나의 span에 들어가버려서요.. ㅠㅠ

각각 span을 담고싶은데 ㅠ

댓글을 작성하려면 로그인이 필요합니다.

끄끄
4년 전

하단부의 ca_name은

</p>

<p><span style="font-size:11px; padding-bottom:10px; width:100%;"><?php echo $list[$i]['ca_name']; ?><span></p>

<p>

 

이렇게 있습니다.

 

위에 있는 php를 삽입하면 하단부의 ca_name 부분이 수정이 되버리네요 ㅠㅠ

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인