11
30

쓰실 때

A: 이렇게 이렇게

B: 이렇게 이렇게

A: 이렇게 요렇게

이렇게~ 나눠서 말해도 들어가요

B: 답변

 

ㄴ 이런 식으로 적은 다음에 html 들어가서 아래 블럭을 맨 아래에 넣어줘요

<script>
const cssContent = `
article p:first-child {
  top: 50px;
}

body div.message.A_message,
body div.message.B_message {
  padding: 10px 15px !important;
}

body div.message.A_message {
  margin: 5px 20px 5px 0px !important;
}

body div.message.B_message {
  margin: 5px 0px 5px 20px !important;
}

.A_message,
.B_message {
  display: inline-block;
  max-width: 80% !important;
  word-wrap: break-word;
  clear: both;
  border: 1px solid lightgray;
  border-radius: 10px;
}

.A_message {
  background-color: #d9fdd3; /* 연한 녹색 */
  color: #000;
  float: right;
  text-align: left;
  border-radius: 10px 10px 0px 10px;
}

.B_message {
  background-color: #f1f1f1; /* 연한 회색 */
  color: #000;
  float: left;
  text-align: left;
  border-radius: 10px 10px 10px 0px;
}

.message img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 5px auto;
  border-radius: 10px;
  border: 1px solid lightgray;
}
`;

const styleTag = document.createElement('style');
styleTag.textContent = cssContent;
document.head.appendChild(styleTag);

let rawHtml = $('div.tt_article_useless_p_margin').html();
rawHtml = rawHtml.replace(/<script[\s\S]*?<\/script>/g, '');
  
let figureArray = [];
rawHtml = rawHtml.replace(/<figure[\s\S]*?<\/figure>/g, function (match) {
  figureArray.push(match);
  var figurecar = '(figure' + (figureArray.length - 1) + ')';
return '<p>' + figurecar + '</p>';
});

let textContent = [];
rawHtml.replace(/<p[^>]*>([\s\S]*?)<\/p>/g, function (_, match) {
  //let cleanedText = match.replace(/<[^>]+>/g, '').trim();
  let cleanedText = match.trim();
  if (cleanedText) textContent.push(cleanedText); // 텍스트만 저장
});

let regex = /([AB]):([\s\S]*?)(?=A:|B:|$)/g;
let results = [];
textContent.join(' ').replace(regex, function (_, sender, message) {
  results.push({ sender: sender.trim(), message: message.trim() });
});

let newHtml = results.map((item) => {
  let messageClass = item.sender === 'A' ? 'A_message' : 'B_message';

  // 줄바꿈 있으면  변환
  let messageContent = item.message
    .replace(/\(figure(\d+)\)/g, function (_, index) {
      return figureArray[parseInt(index, 10)] || '';
    })
    .replace(/\n/g, '<br>'); // 줄바꿈을 <br>로 변환

  return `<div class="message ${messageClass}">${messageContent}</div>`;
});

$('div.tt_article_useless_p_margin').html(newHtml.join(''));
 
</script>

 

그럼 

이게

 

아래가 됨

 

이 방법은 어때

COMMENT