그런식으로 echo하려면 어떻게해야할까요??

그런식으로 echo하려면 어떻게해야할까요??

QA

그런식으로 echo하려면 어떻게해야할까요??

본문

"안녕하세요 [도치즈]입니다."

라는 문자열이 들어왔을때

[부터 ]까지의 글자를 진하게해서 출력하고싶은데;; 이런건 어떻게해야할까요??

이 질문에 댓글 쓰기 :

답변 3

$str = preg_replace("/(\[.+\])/", "<strong>$1</strong>", $str); 
echo "안녕하세요 <strong>[도치즈]</strong>입니다.";

흐음..;; 그런뜻이 아니라요;;
게시판에서 대량으로 그렇게 표시해야할때에요;;

[부터 ]까지의 글자만 해야하는것이기에 그 사이에 어떤 글자가있는지 정확히 모르구요;;
그냥 노가다해서 대충해놧어요;; ㅠㅠ

혹시 이거보다 더 짧고 좋은 소스가 있나해서 질문올려본거였거든요;; ㅎㅎ
감사합니다^^


if(strstr($list[$i]['subject'], "[") == true && strstr($list[$i]['subject'], "]") == true) {
				$strong_start[$i] = stripos($list[$i]['subject'], "[");
				$strong_end[$i] = strpos($list[$i]['subject'], "]");
				
				$strong_text[$i] = substr($list[$i]['subject'], $strong_start[$i],$strong_end[$i])."]";
				
				$strong[$i] = "<strong>".$strong_text[$i]."</strong>";
				$strong[$i] = str_replace("[","",$strong[$i]);
				$strong[$i] = str_replace("]","",$strong[$i]);
				
				$list[$i]['subject'] = str_replace($strong_text[$i],"",$list[$i]['subject']);
				$subject_sise[$i] = strlen($list[$i]['subject']);
				echo substr($list[$i]['subject'],0,$strong_start[$i]).$strong[$i].substr($list[$i]['subject'],$strong_start[$i],$subject_sise[$i]);
			} else {
				echo $list[$i]['subject'];
			}

[문자열]...[문자열] 인 경우에는 위의 코드로 치환할수 없으므로 아래와 같은 코드로 사용합니다.


<?php
$str = "안녕하세요 [도치즈]입니다. 저는 [치즈] 입니다.";
echo preg_replace("/(\[[^\]]+])/", "<strong>$1</strong>", $str); 

?>

답변을 작성하시기 전에 로그인 해주세요.
전체 15,015
QA 내용 검색
filter #php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT