iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

給愛追劇的你:30天互動網站挑戰系列 第 17

Day 17:心得牆排版加強(長文斷行、連結、@標記)

  • 分享至 

  • xImage
  •  

目標
讓心得內容更可讀:自動偵測網址轉連結、支援 @名字 高亮、長文斷行。

改哪裡js/reviews.js(render 內容處理)、style.css

1. CSS(加在 style.css

/* Day 17:內容可讀性 */
.review-content a{ color: var(--primary); text-decoration: underline; word-break: break-all; }
.review-content .mention{ background: #f5f3ff; border-radius: 6px; padding: 0 4px; }

2. JS(在 reviews.js 裡替換 esc(item.content) 的處理)

function linkify(str){
  // 先跳脫、再把 URL 與 @xxx 轉成標籤
  const s = esc(str);
  const withUrl = s.replace(/(https?:\/\/[^\s]+)/g, '<a href="$1" target="_blank" rel="noopener">$1</a>');
  const withMention = withUrl.replace(/@([\p{L}\d_]{2,20})/gu, '<span class="mention">@$1</span>');
  return withMention;
}

// render 內容處改成:
<p class="review-content">${linkify(item.content)}</p>

上一篇
Day 16:RWD 強化(手機導覽、斷點微調)
下一篇
Day 18:排序功能(評分/時間,升/降)
系列文
給愛追劇的你:30天互動網站挑戰30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言