我正在使用Discourse論壇軟件。就目前的狀態而言,話語以兩種方式提供了話題的鏈接,最後有和沒有郵編。正則表達式在Discourse論壇正常化主題鏈接
例子:
forum.domain.com/t/some-topic/23
forum.domain.com/t/some-topic/23/5
第一個是我想要的,第二個我想不會在論壇顯示在所有。
我在Discourse論壇上寫了a post about it,但沒有收到回答正則表達式在管理部分中的永久鏈接規範化輸入字段。
有人告訴我,有一個選項使用永久正常化像這樣做(這是在正則表達式輸入文字下的管理所示的例子中,我沒有寫它):
permalink normalizations
Apply the following regex before matching permalinks,
for example: /(topic.)\?./\1 will strip query strings from topic routes.
Format is regex+string use \1 etc. to access captures
我不知道我應該用什麼正則表達式來從鏈接中刪除帖子號碼的數字值。我只需要它的話題鏈接。
這是routes.rb路由庫,這是permalink.rb庫(我認爲永久鏈接庫應該有助於獲得更好的線索如何做到這一點)。我不知道如何解決這個問題,因爲我似乎需要一些Discourse路由的知識才能使它工作。例如,我不明白爲什麼(topic.)
是正則表達式的一部分,這是什麼意思,所以他們的例子並不能幫助我找到解決方案。
在管理員我有一個輸入字段,我需要把規範化正則表達式代碼。
我需要幫助正則表達式。 我需要正則表達式來處理所有主題。
事情我已經試過了沒有工作出來:
/(\/\d+)\/\d+$/\1
/(t/[^/]+/\d+).*/\1
/(\/\d+)\/[0-9]+$/\1
/(\/\d+)\/[0-9]+/\1
/(\/\d+)\/\d+$/\1/
/(forum.domain.com(\/\w+)*\/\d+)\/\d+(?=\s|$)/\1
注:的永久正常化輸入字段將字符|
作爲分隔符的幾個正則表達式表達之間的分離。
不知話語或它的永久鏈接管理,但你想可能是'什麼正則表達式/(\/\ d +)\/\ d + $/\ 1'。很大程度上取決於Discourse支持哪些正則表達式特徵。您可能需要不使用'$'和/或用'[0-9]'替換每個'\ d'。 – trincot
@trincot/t /表示話語中的話題,儘管我不知道他們放置的例子(話題)中的內容,可能與Discourse中的後向路由編碼有關。 –
也許'^ /(t/some-topic/\ d +)。*/\ 1'?如果當你有'forum.domain.com/t/some-topic/23'時,正則表達式得到字符串輸入爲'/ t/some-topic/23',這可能會起作用。您實際上已經建議'/(topic。*)\?。*/\ 1',星號因格式不當而丟失。 –