2026, 새로운 도약을 시작합니다.

내용에서 첫번째 문자를 치환하는 방법이 궁금합니다. 채택완료

안녕하세요.
혼자 풀기 어려운 문제라 도움 부탁드립니다.

Copy


스무고개@51,000+$|고향연화@50,000+$|미포집해운대본점@50,000+$|기장손칼국수@49,000+$|타이가텐푸라@48,000+$|칸다소바부전동점@47,000+$|영도해녀촌@47,000+$|쌍둥이돼지국밥본점@47,000+$|피아크카페&베이커리@45,000+$|에테르@45,000+$|선창횟집@45,000+$|비아조@45,000+$|해운대기와집대구탕@45,000+$|초힛사츠@44,000+$|합천국밥집@44,000+$|남천녹차팥빙수@44,000+$|로우앤스윗@43,000+$|어밤부@43,000+$|차선책본점@43,000+$|헤이든@43,000+$|네살차이@42,000+$|어느멋진날@42,000+$|버거샵@42,000+$|깡돼후@41,000+$|평산옥@40,000+$|나이브브류어스@40,000+$|해운대밀면@40,000+$|류센소본점@40,000+$|이재모피자서면점@39,000+$|거대갈비@39,000+$|다이도코로@39,000+$|카페인차저@39,000+$|자매국밥@39,000+$|대정양곱창@39,000+$|의령식당@37,000+$|수민이네@37,000+$|라이프커피앤티@37,000+$|송정3대국밥@36,000+$|거대곰탕@36,000+$|갈삼구이@36,000+$|백설대학@36,000+$|양가네양곱창@36,000+$|첨벙@36,000+$|바다마루전복죽@36,000+$|듀플릿해리단길@36,000+$|탐복@36,000+$|마가만두@36,000+$|밀양순대돼지국밥부산본점@35,000+$|상생라멘광안리점@35,000+$|개미집국제시장본점@35,000+$|오후의홍차@35,000+$|순진한칼국수@35,000+$

wr_content가 이런 구조로 되어 있습니다.

원하는 결과는 "1000+"단위의 첫번째 문자열마다 font-style을 bold로 주고 싶습니다.

Copy


스무고개@51,000+$|고향연화@50,000+$|미포집해운대본점@50,000+$|기장손칼국수@49,000+$|타이가텐푸라@48,000+$|칸다소바부전동점@47,000+$|영도해녀촌@47,000+$|쌍둥이돼지국밥본점@47,000+$|피아크카페&베이커리@45,000+$|에테르@45,000+$|선창횟집@45,000+$|비아조@45,000+$|해운대기와집대구탕@45,000+$|초힛사츠@44,000+$|합천국밥집@44,000+$|남천녹차팥빙수@44,000+$|로우앤스윗@43,000+$|어밤부@43,000+$|차선책본점@43,000+$|헤이든@43,000+$|네살차이@42,000+$|어느멋진날@42,000+$|버거샵@42,000+$|깡돼후@41,000+$|평산옥@40,000+$|나이브브류어스@40,000+$|해운대밀면@40,000+$|류센소본점@40,000+$|이재모피자서면점@39,000+$|거대갈비@39,000+$|다이도코로@39,000+$|카페인차저@39,000+$|자매국밥@39,000+$|대정양곱창@39,000+$|의령식당@37,000+$|수민이네@37,000+$|라이프커피앤티@37,000+$|송정3대국밥@36,000+$|거대곰탕@36,000+$|갈삼구이@36,000+$|백설대학@36,000+$|양가네양곱창@36,000+$|첨벙@36,000+$|바다마루전복죽@36,000+$|듀플릿해리단길@36,000+$|탐복@36,000+$|마가만두@36,000+$|밀양순대돼지국밥부산본점@35,000+$|상생라멘광안리점@35,000+$|개미집국제시장본점@35,000+$|오후의홍차@35,000+$|순진한칼국수@35,000+$

즉 첫번째 51,000+일 때는 bold로 그 뒤는 변하지 않고

다음 50,000+일 때는 bold로 또 그뒤는 변하지 않고

이런 식으로 천 단위마다 스타일에 bold를 넣고 싶습니다.

구글링을 해보니 str_replace() 또는 substr_replace() 를 이용하는 방법이 있는데 처음 한번만 적용되고 나머지는 for문을 사용하지 않고서는 방법이 없더군요.

제 한계가 여기까지라 그누 회원님의 도움을 얻고자 합니다.

고수분들의 많은 의견 부탁드립니다.

답변 5개

채택된 답변
+20 포인트
Copy
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사합니다.
제가 볼드 스타일 주는 것을 잘못 표현해서 괜히 혼자 더 고새했네요.
제가 원하는 아웃이 제대로 실현되어 기쁩니다.
감사합니다~

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

1. 별도 테이블 사용을 추천합니다.

2. 처음 것만 문자열 교체를하는 것이 효률적입니다.

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

답변에 대한 댓글 2개

wr_content 안에서 어떻게든 해결을 봐야해서요.
신경써 주셔서 감사합니다~
$s="$wr_content = "스무고개@51,000+$|고향연화@50,000+$|미포집해운대본점@50,000+$|기장손칼국수@49,000+$|타이가텐푸라@48,000+$|칸다소바부전 ... ";
list( $s1, $s2)= explode( '@', $s, 2);
list( $s2a, $s2b)= explode( '+', $s2, 2);
echo $s1, '@<font-style:bold>',$s2a,'+</font>',$s2b;

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

베르만님의 답변이 멋진 답변입니다

액트온님의 답변이 질문을 잘못 이해하신 것 같아 조금 수정 했습니다

이런 방법도 있다는 것을 참고로 보세요

----------------------------

 $wr_content = "스무고개@51,000+$|고향연화@50,000+$|미포집해운대본점@50,000+$|기장손칼국수@49,000+$|타이가텐푸라@48,000+$|칸다소바부전동점@47,000+$|영도해녀촌@47,000+$|쌍둥이돼지국밥본점@47,000+$|피아크카페&베이커리@45,000+$|에테르@45,000+$|선창횟집@45,000+$|비아조@45,000+$|해운대기와집대구탕@45,000+$|초힛사츠@44,000+$|합천국밥집@44,000+$|남천녹차팥빙수@44,000+$|로우앤스윗@43,000+$|어밤부@43,000+$|차선책본점@43,000+$|헤이든@43,000+$|네살차이@42,000+$|어느멋진날@42,000+$|버거샵@42,000+$|깡돼후@41,000+$|평산옥@40,000+$|나이브브류어스@40,000+$|해운대밀면@40,000+$|류센소본점@40,000+$|이재모피자서면점@39,000+$|거대갈비@39,000+$|다이도코로@39,000+$|카페인차저@39,000+$|자매국밥@39,000+$|대정양곱창@39,000+$|의령식당@37,000+$|수민이네@37,000+$|라이프커피앤티@37,000+$|송정3대국밥@36,000+$|거대곰탕@36,000+$|갈삼구이@36,000+$|백설대학@36,000+$|양가네양곱창@36,000+$|첨벙@36,000+$|바다마루전복죽@36,000+$|듀플릿해리단길@36,000+$|탐복@36,000+$|마가만두@36,000+$|밀양순대돼지국밥부산본점@35,000+$|상생라멘광안리점@35,000+$|개미집국제시장본점@35,000+$|오후의홍차@35,000+$|순진한칼국수@35,000+$";
$parts = explode("+", $wr_content);
$result = "";          $tmp=[];
foreach ($parts as $part) {
    $subparts = explode("@", $part);      
    if(!isset($subparts[1])) continue;

    if(! in_array( $subparts[1], $tmp)){$tmp[]=$subparts[1];  $subparts[1] = "<b>{$subparts[1]}+</b>";     }
    else $subparts[1] = $subparts[1].'+';
    $result .= implode("@", $subparts);
}
$result.="$";

echo $result;

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

답변에 대한 댓글 1개

균이님 오랜만에 뵙습니다.
신경써 주셔서 감사합니다.
먼저 채택된 답변이 있어 죄송합니다.

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

Copy


$wr_content = "스무고개@51,000+$|고향연화@50,000+$|미포집해운대본점@50,000+$|기장손칼국수@49,000+$|타이가텐푸라@48,000+$|칸다소바부전동점@47,000+$|영도해녀촌@c47,000+$|쌍둥이돼지국밥본점@47,000+$|피아크카페&베이커리@45,000+$|에테르@45,000+$|선창횟집@45,000+$|비아조@45,000+$|해운대기와집대구탕@45,000+$|초힛사츠@44,000+$|합천국밥집@44,000+$|남천녹차팥빙수@44,000+$|로우앤스윗@43,000+$|어밤부@43,000+$|차선책본점@43,000+$|헤이든@43,000+$|네살차이@42,000+$|어느멋진날@42,000+$|버거샵@42,000+$|깡돼후@41,000+$|평산옥@40,000+$|나이브브류어스@40,000+$|해운대밀면@40,000+$|류센소본점@40,000+$|이재모피자서면점@39,000+$|거대갈비@39,000+$|다이도코로@39,000+$|카페인차저@39,000+$|자매국밥@39,000+$|대정양곱창@39,000+$|의령식당@37,000+$|수민이네@37,000+$|라이프커피앤티@37,000+$|송정3대국밥@36,000+$|거대곰탕@36,000+$|갈삼구이@36,000+$|백설대학@36,000+$|양가네양곱창@36,000+$|첨벙@36,000+$|바다마루전복죽@36,000+$|듀플릿해리단길@36,000+$|탐복@36,000+$|마가만두@36,000+$|밀양순대돼지국밥부산본점@35,000+$|상생라멘광안리점@35,000+$|개미집국제시장본점@35,000+$|오후의홍차@35,000+$|순진한칼국수@35,000+$";

$parts = explode("+", $wr_content);

$result = "";

foreach ($parts as $part) {

    $subparts = explode("@", $part);

    $subparts[0] = "{$subparts[0]}";

    $result .= implode("@", $subparts) . "+";

}

$result = rtrim($result, "+");

echo $result;

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

답변에 대한 댓글 1개

답변 감사합니다.
먼저 채택된 답변이 있어 죄송하네요 ^^

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

먼저 확인하고 싶은 것은

<font-style:bold>51,000+</style> 은

<span style='font-weight:bold'>51,000</span>+ 로 표현되어야 맞지 않을까요?

이게 맞다고 하시면 그에 맞춰서...

----------

Copy




 



    



.

.

.



const bo_v_con = document.querySelector("#bo_v_con");

bo_v_con.innerHTML = bo_v_con.innerHTML.replaceAll("@", "@").replaceAll("+$", "+$"); 



----------

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

답변에 대한 댓글 1개

관심 가져주셔서 감사합니다.
51,000+ 에서 +가 천단위숫자 "이상" 이라서 그 안네 있는 것이고 $가 각각의 구별자였습니다. :)
말씀해주신 스크립트는 모든 숫자에 볼드가 들어가게 되지 않나요?
전 처음 숫자에만 볼드가 필요해서요.

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

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

로그인
🐛 버그신고