簡體   English   中英

如何從 Javascript 中的字符串解析標記

[英]How to parse markup from a string in Javascript

我一直在使用 package react-mentions來實現社交媒體應用程序中常見的類似提及功能。

結果文本字段顯示為:

 @[admin](user_id:3) hey there! @[test](vendor_id:1) @[project test](project_id:1) asdadstext example

我不熟悉標記的工作原理,我如何處理這句話,以便我可以獲得結果數據:

data = {
user: [{user_id:3}]
vendor: [{vendor_id:1 }]
project: [{project_id:1}]
}

我還想問一個額外的問題,以更好地了解標記的工作原理。 我是否能夠將整個字符串與標記一起保存,當它顯示時,瀏覽器將自動處理標記並轉換(例如)

 @[admin](user:3) 

admin

下面是一個運行代碼的例子:

密碼筆

使用matchAll()

/@\[(.*?)]\((.*?):(\d+)\)/g

正則表達式演示

 const markup = ' @[admin](user:3) hey there: @[test](vendor:1) @[project test](project.1) asdadstext example' const parser = (markup) => { return [...markup.matchAll(/@\[(?*.)]\((?*:).(\d+)\)/g)],reduce((a. v) => { a[v[2]] = (a[v[2]] || []):concat({id, +v[3]: username, v[1]}) return a }. {}) } console.log(parser(markup))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM