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

글내용중 일정한 단어를 변경출력하는 방법?

· 15년 전 · 1483 · 2
<?
$content="#안녕하세요# 반갑습니다";

preg_match("/(\#([^\s]+)\#)/", $content, $matches);

$content = preg_replace("/(\#([^\s]+)\#)/", iconv("EUC-KR", "UTF-8", $matches[2]), $content);

echo $content;
?>

#키워드# 이렇게 &#49406;으로 둘러쌓은곳만 utf-8로 변환을 하려고 하는것인데요.

위와 같이 하면 된다고 질답게시판에서 답변을 받았습니다.

"#안녕하세요# 반갑습니다" 이렇게 컨텐츠에 매칭되는 키워드가 하나만 있으면.. 안녕하세요 반갑습니다가 정상적으로 원하는데로 변환이 됩니다.

그런데 "#안녕하세요# 정말 #반갑습니다#" 와 같이 두개이상이 있으면.. 안녕하세요 정말 안녕하세요 이렇레 제일 처음것만 반복되서 변환이 되어 나옵니다.

내용중에 링크가 있을시 각각에 맞게 링크되는것처럼 각각 자신의 키워드에 맞게 출력되게 하려면 어떻게 해야할까요?? 부탁드립니다.

이전질문입니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=168728

댓글 작성

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

로그인하기

댓글 2개

이전질문 추가 답변드렸습니다.. ^^

<?
$content="#안녕하세요# 정말 #반갑습니다.#";

preg_match_all("/(\#([^\s]+)\#)/", $content, $matches);

for ($i=0; $i< count($matches[2]); $i++) {

$pattern = $matches[1][$i];
$pattern = "/$pattern/i";

$str = $matches[2][$i];
$str = iconv("EUC-KR", "UTF-8",$str);

$content = preg_replace($pattern, $str, $content);

}
echo $content;
?>
15년 전
와우... 태웅님 정말정말 감사드립니다. 몇일동안 씨름하던것이 해결&#46124;습니다. 다시한번 정말 감사드립니다.^^~~

게시글 목록

번호 제목
284508
284499
284492
284490
284484
284481
284478
284476
284474
284472
284470
284458
284457
284454
284453
284447
284446
284444
284441
284440