GCT1015
2019-11-29 15:27:18
有誰知道一個腳本,該腳本可以選擇對URL的所有文本引用,并自動將其替換為指向這些位置的錨標(biāo)記?For example:http://www.google.com would automatically turn into<a href="http://www.google.com">http://www.google.com</a>注意:我想要這個是因為我不想瀏覽所有內(nèi)容,并用錨標(biāo)記將它們包裝起來。
3 回答

人到中年有點甜
TA貢獻1895條經(jīng)驗 獲得超7個贊
我建議您在呈現(xiàn)給瀏覽器之前在靜態(tài)頁面上執(zhí)行此操作,否則您會將轉(zhuǎn)換計算的負(fù)擔(dān)推給可憐的訪問者。:)這是在Ruby中的方法(從stdin讀取,寫入stdout):
while line = gets
puts line.gsub( /(^|[^"'])(http\S+)/, "\\1<a href='\\2'>\\2</a>" )
end
顯然,您需要考慮如何使它像您期望的那樣健壯。以上要求所有URL以http開頭,并且將檢查是否不轉(zhuǎn)換帶引號的URL(即可能已經(jīng)在<a href="...">內(nèi)的URL)。它不會捕獲ftp://,mailto:。它將很高興在諸如<script>正文之類的地方轉(zhuǎn)換材質(zhì),您可能不想發(fā)生這種情況。
最令人滿意的解決方案實際上是與編輯器手動進行轉(zhuǎn)換,以便您可以接受并批準(zhǔn)所有替換。 好的編輯器可以讓您使用組引用(也稱為反向引用)進行正則表達式替換,因此這沒什么大不了的。
添加回答
舉報
0/150
提交
取消