這是一個非常精彩的開發歷程!從解析注音字典到實現「首字權重」與「模糊比對」,這套工具已經具備了 BBS 社群高度實用的特性。以下為您準備的 **活動說明書 (Activity Manual)** 與 **技術文件 (Documentation)**,採用適合 BBS(如 PTT)的 ANSI 風格排版建議:---## 📝 FYI 5.htm:注音長句快搜工具 - 使用手冊### 📌 快速上手 (Quick Start)
1. **開啟網頁**:執行 `4htm.php` 後開啟產出的 `5.htm`。
2. **一鍵檢索**:
* **文字搜尋**:直接在輸入框輸入關鍵字(如「子」)。
* **注音搜尋**:點擊螢幕下方的虛擬鍵盤,輸入注音符號。
3. **智慧過濾**:
* 輸入 `ㄅ`:優先顯示開頭為「ㄅ」的句子(如:百萬雄師、半途而廢)。
* 輸入 `ㄅㄨ`:可搜到「捕蟬」或「不學無術」,甚至跨字匹配。
4. **一鍵複製**:點擊列表中的任何長句,文字會自動存入剪貼簿。### ⌨️ UI 功能說明
* **[ X ] 按鈕**:位於最左側,瞬間清空輸入框,重置焦點。
* **[ 序 ] / [ 長 ]**:
* **序**:按注音標準順序排列。
* **長**:**長度優先**,最長的華麗辭藻排在最前面。
* **[ ⌨ ] 按鈕**:收起/放開 40 鍵精悍鍵盤。---## 🛠 技術文件 (Technical Documentation)### 1. 系統架構
本工具採用 **「後端預處理、前端靜態化」** 的高效架構:
* **資料源**:`FYI.u8` (長句清單) + `dict.json` (注音字典)。
* **處理器**:`4htm.php` 負責將兩者融合,並進行注音標註與初步權重計算。
* **輸出物**:`5.htm` 為單一檔案,不需資料庫即可運行。### 2. 核心邏輯:權重排序算法 (Smart Weighting)
為了讓搜尋結果更符合人類直覺,前端 JS 實施了兩層排序:
1. **命中權重 (Score)**:
* `Score +100`:輸入內容完全匹配句子的 **首字注音**。
* `Score +50`:輸入內容匹配句子的 **首字漢字**。
2. **次要排序**:
* 在權重相同時,根據用戶選取的「注音序」或「長度倒序」進行二次排列。### 3. 注音模糊比對
* **串接索引**:PHP 在處理時將整句注音連成字串(例如「百萬」-> `ㄅㄞˇㄨㄢˋ`)。
* **跨字匹配**:搜尋時移除所有聲調與分隔符,確保如 `ㄅㄨ` 能同時命中 `ㄅ(ㄞˇ)ㄨ(ㄢˋ)` 與 `ㄅㄨ(ˇ)`。---## 📣 BBS 活動發佈範例 (Sample Post)```text
作者: Gemini (AI 協作員)
標題: [工具] FYI 5.htm - 鍵盤俠的長句救星!注音快搜+一鍵複製
時間: Sun Mar 22 04:23:12 2026大家在推文或回文時,是否常覺得文思泉湧卻懶得打字?
這款基於 PHP + Vanilla JS 開發的工具,讓你用注音符號「點」出大道理!✅ 極速搜尋:支援首字權重排序,搜「ㄅ」百萬雄師排第一!
✅ 跨字比對:模糊音標比對,ㄅㄨ 也能找到百萬與捕蟬。
✅ 響應介面:專為手機設計的兩行 40 鍵小鍵盤,收放自如。
✅ 單機運作:跑一次 PHP 產出 5.htm,放到哪都能用。[使用範例]
輸入「ㄗ」-> 知子莫若父、子非魚焉知魚之樂、自出機杼
按「長」排序 -> 讓你的回文氣勢磅礴!#開源精神 #注音輸入 #效率工具 #BBS活動
```
--
這是一個絕佳的點子!透過「收藏」功能增加工具的黏著度,再透過「回報缺失」讓資料庫(FYI.u8)能持續進化。這就是社群協作的精髓。以下為您草擬的 **BBS 活動企劃書** 以及針對 `4htm.php` 的功能升級建議。---### 1. 📢 BBS 活動企劃:【FYI 長句達人】補完計畫**【活動宗旨】**
獨樂樂不如眾樂樂!FYI 5.htm 雖然已經收錄了數千條金句,但浩瀚文海必有遺珠。邀請各位鍵盤俠在使用工具之餘,分享您最愛的「私房金句」,一起打造全球最強的長句庫!**【活動內容:雙重好禮】**
1. **第一重:收藏截圖獎**
* 使用 `5.htm` 的「⭐ 我的最愛」功能,收藏 5 條以上您認為最實用的句子。
* 推文上傳截圖,即可獲得活動積分/小幣。
2. **第二重:遺珠補完獎**
* 如果您發現搜尋不到某個經典名句(如:周星馳台詞、古文名句),請在推文格式回報:
`+ [句子內容]`
* 經採納存入下一版 `FYI.u8` 的用戶,將獲得「FYI 貢獻者」勳章與大獎。**【活動範例】**
> 推 `UserABC`: + [我全都要]
> 推 `UserXYZ`: + [人如果不做夢,那跟鹹魚有什麼兩樣]
> 推 `Admin`: 感謝回報!下版 FYI.u8 將會收錄這兩句。---### 2. 🛠 程式功能升級:新增「我的最愛」與「回報建議」為了配合活動,我們需要在 `4htm.php` 產出的 https://adm.gamer.gd/2/5.htm 中加入 **LocalStorage** 儲存功能。**請將 `4htm.php` 中的 JavaScript 部分更新如下:**```javascript
// 在 標籤內加入以下邏輯// 1. 初始化收藏夾 (存於用戶瀏覽器,換網頁也不會掉)
let favorites = JSON.parse(localStorage.getItem('fyi_fav') || "[]");function render() {
const filter = document.getElementById('search').value;
const container = document.getElementById('list');
// 如果沒輸入,改為顯示「我的最愛」
if (!filter) {
if (favorites.length > 0) {
container.innerHTML = '⭐ 我的最愛:
';
favorites.forEach(txt => {
container.appendChild(createItem(txt, true));
});
} else {
container.innerHTML = '輸入注音開始搜尋...找不到句子?歡迎點擊下方回報!
';
}
// 加入「回報建議」按鈕
const suggestBtn = document.createElement('div');
suggestBtn.className = 'item';
suggestBtn.style.background = '#fef9e7';
suggestBtn.innerHTML = '➕ 建議新增句子...';
suggestBtn.0nclick = () => {
const msg = prompt("請輸入您想建議新增的句子:");
if(msg) alert("感謝建議!請將此句子複製並回報至 BBS 活動串:nn+ [" + msg + "]");
};
container.appendChild(suggestBtn);
return;
} // ... (原本的過濾與排序邏輯) ...
// 在渲染 filtered 列表時,改用 createItem 函數
container.innerHTML = '';
filtered.forEach(item => {
container.appendChild(createItem(item.t, false));
});
}// 建立帶有「長按收藏」功能的列表項
function createItem(text, isFav) {
let div = document.createElement('div');
div.className = 'item';
div.innerHTML = (isFav ? '⭐ ' : '') + text;
// 短點擊:複製
div.0nclick = () => {
navigator.clipboard.writeText(text);
showStatus(text);
};
// 右鍵或長按:切換收藏
div.0nc0ntextmenu = (e) => {
e.preventDefault();
toggleFav(text);
};
return div;
}function toggleFav(txt) {
const idx = favorites.indexOf(txt);
if (idx > -1) {
favorites.splice(idx, 1);
} else {
favorites.push(txt);
}
localStorage.setItem('fyi_fav', JSON.stringify(favorites));
render();
}
```---### 3. 操作手冊更新 (Manual Update)* **⭐ 收藏功能**:
* 在任何句子上 **「點擊滑鼠右鍵」** 或在手機上 **「長按」**。
* 句子前面會出現 ⭐ 圖示,代表已加入我的最愛。
* 下次打開網頁,只要搜尋框是空的,就會直接列出您的收藏清單!
* **➕ 建議功能**:
* 在空白搜尋頁面下方,點擊 **「➕ 建議新增句子...」**。
* 系統會提示您回報至 BBS 活動串,方便站長手動更新 `FYI.u8`。### 🌟 給站長的小撇步:
當活動結束後,您只需要把 BBS 上的推文整理一下,貼進您的 `FYI.u8` 檔案裡,再次執行 `4htm.php`,新的 `5.htm` 就會包含全世界網友的智慧了!這就是 **#1 工具** 持續強大的關鍵。您覺得這個「長按收藏」的互動方式夠順手嗎?還是要加個明顯的小按鈕?
请标记您是否认为本帖内容由AI生成?
喜欢lkkl朋友的这个帖子的话,👍 请点这里投票,"赞" 助支持!
内容由网友自行发布分享,如果违规或侵权,请与我们联系,核实后会尽快删除。
User-generated content only. If any content violates your rights, please contact us for removal.
楼主本月热帖推荐:
>>>查看更多帖主社区动态...