[問題] 類似wiki關鍵字的作法
看板RegExp (正規表示式 Regular Expression)作者lottemarines (一平)時間15年前 (2010/01/20 22:26)推噓1(1推 0噓 1→)留言2則, 2人參與討論串1/1
各位前輩大家好:
小弟原本在php版問這個問題
想請教如何寫出類似wiki關鍵字的效果,舉例來說,就是使用者在留言的時候
用[]包住的文字,存入資料庫之後就會變成連結,
甚至還能分辨資料庫中是否有此資料,然後顯現出不同的顏色(此段可以先不用實做)
例如 [ptt],就會連結到 http://localhost/serch.php?text=ptt
當然,當使用者編輯留言的時候,也能恢復成 [ptt] 。
請高手賜教或者提供關鍵字、相關網址供小弟參考,感謝!!
後來 lvlightvivi 兄回我這個答案
<?php
$string = "Welcome to [ptt]";
//你要改的文章
$pattern = "/\[(\S+)\]/"; //正規表示式 請務必學一下
//上面的意思是找出 [string] 這樣的形式 用括號把裡面string抓為暫存
$replacement = "<a href='http://localhost/serch.php?text=\${1}'>\${1}</a>";
//要代換的項目\${1}就是你抓的暫存
print preg_replace($pattern, $replacement, $string);
//印出結果
?>
不過這個答案發現有問題耶,因為假設把$str改為
$string = "兄弟象[陳致遠]沒有打[假球]";
程式會把$string變成
兄弟象陳致遠]沒有打[假球
藍色字代表連結,他把兩個關鍵字弄成一個了,要怎麼樣做才能正常呢?!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.39.156.2
→
01/20 22:47, , 1F
01/20 22:47, 1F
推
01/21 00:29, , 2F
01/21 00:29, 2F
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章