"안녕하세요 [도치즈]입니다."
라는 문자열이 들어왔을때
[부터 ]까지의 글자를 진하게해서 출력하고싶은데;; 이런건 어떻게해야할까요??
답변 3개 / 댓글 3개
채택된 답변
+20 포인트
2014-01-02 (목) 09:19:57
$str = preg_replace("/(\[.+\])/", "<strong>$1</strong>", $str);
답변에 대한 댓글 1개
2014-01-02 (목) 11:24:33
2014-01-02 (목) 19:48:01
[문자열]...[문자열] 인 경우에는 위의 코드로 치환할수 없으므로 아래와 같은 코드로 사용합니다.
Copy
<?php
$str = "안녕하세요 [도치즈]입니다. 저는 [치즈] 입니다.";
echo preg_replace("/(\[[^\]]+])/", "<strong>$1</strong>", $str);
?>
답변에 대한 댓글 1개
사노라가노라
2014-01-01 (수) 23:44:41
echo "안녕하세요 <strong>[도치즈]</strong>입니다.";
답변에 대한 댓글 1개
2014-01-02 (목) 00:24:06
흐음..;; 그런뜻이 아니라요;;
게시판에서 대량으로 그렇게 표시해야할때에요;;
[부터 ]까지의 글자만 해야하는것이기에 그 사이에 어떤 글자가있는지 정확히 모르구요;;
그냥 노가다해서 대충해놧어요;; ㅠㅠ
혹시 이거보다 더 짧고 좋은 소스가 있나해서 질문올려본거였거든요;; ㅎㅎ
감사합니다^^
[code]
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'];
}
[/code]
게시판에서 대량으로 그렇게 표시해야할때에요;;
[부터 ]까지의 글자만 해야하는것이기에 그 사이에 어떤 글자가있는지 정확히 모르구요;;
그냥 노가다해서 대충해놧어요;; ㅠㅠ
혹시 이거보다 더 짧고 좋은 소스가 있나해서 질문올려본거였거든요;; ㅎㅎ
감사합니다^^
[code]
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'];
}
[/code]
답변을 작성하려면 로그인이 필요합니다.
감사합니다!!