fix: strip HTML tags to show plain text only
All checks were successful
BotUI CI/CD / build (push) Successful in 45s
All checks were successful
BotUI CI/CD / build (push) Successful in 45s
This commit is contained in:
parent
1949ea72a6
commit
ff93f33d40
1 changed files with 10 additions and 4 deletions
|
|
@ -281,6 +281,13 @@
|
|||
htmx.process(chip);
|
||||
}
|
||||
|
||||
// Strip HTML tags and return plain text
|
||||
function stripHtml(html) {
|
||||
const temp = document.createElement('div');
|
||||
temp.innerHTML = html;
|
||||
return temp.textContent || temp.innerText || '';
|
||||
}
|
||||
|
||||
// Append message to chat
|
||||
function appendMessage(message) {
|
||||
const messagesEl = document.getElementById("messages");
|
||||
|
|
@ -289,14 +296,13 @@
|
|||
const messageEl = document.createElement("div");
|
||||
messageEl.className = `message ${message.sender === "user" ? "user" : "bot"}`;
|
||||
|
||||
// Check if content contains HTML tags
|
||||
const isHtml = /<[a-z][\s\S]*>/i.test(message.text);
|
||||
const textContent = isHtml ? message.text : escapeHtml(message.text);
|
||||
// Strip HTML tags to show plain text only, never raw tags
|
||||
const plainText = stripHtml(message.text);
|
||||
|
||||
messageEl.innerHTML = `
|
||||
<div class="message-content">
|
||||
<span class="sender">${message.sender}</span>
|
||||
<span class="text">${textContent}</span>
|
||||
<span class="text">${escapeHtml(plainText)}</span>
|
||||
<span class="time">${formatTime(message.timestamp)}</span>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue