2014-07-12 52 views
1

我想從使用書籤服務Delicious轉向Diigo,但diigo在其RSS中組織標籤的方式阻止了此舉。使用Yahoo管道將RSS html標籤轉換爲標準標籤項目

我想使用雅虎管道打開的diigo RSS標記成相同的格式,美味的RSS標籤

的diigo標籤存儲在「說明」項底部的HTML列表,像這樣:

Some test describing the link. 

<p class="diigo-tags"><strong>Tags:</strong> 

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/firsttag'>firsttag</a> 

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/2ndtag'>2ndtag</a> 

    <a rel="nofollow" target="_blank" href='https://www.diigo.com/user/username/anothertag'>anothertag</a> 

etc... </p> 

我需要提取其中的每一個並將它們存儲在它們自己的項目中。美味存儲在嵌套字段類別每個標籤由數,這樣的:

category 
    0 
    domain http://delicious.com/username/ 
    content firsttag 
    1 
    domain http://delicious.com/username/ 
    content 2ndtag 

所以,雅虎管需要剝去HTML列表和每個標籤分離成單一類別字段。

不知道從哪裏開始,除了可能在正則表達式正則表達式剝去HTML:

(?si)<a[^<>]*?[^<>]*>(.*?)</a> 

任何意見讚賞。

+0

請將鏈接添加到您的文章 – janos

+0

我在這裏做了一個管道,但它不包含太多。很好的方法來比較Diigo和Delicious的輸出:https://pipes.yahoo.com/machinemachine/8fcfdf5dc9401fb5c6559e4f5d191dfe – therourke

回答

0

可以通過使用正則表達式操作者執行以下替換提取從的diigo流的標籤:

  • 替換<a[^<>]*?[^<>]*>(.*?)</a>$1,使用選項G和S(在<a>...</a>內的標籤本身)
  • 用空格替換<.+>,使用選項g和m(刪除所有HTML標記)
  • 用單個空格替換[\s]+,使用選項g和s

因此,說明字段現在包含由空格分隔的標籤列表。我不確定你接下來需要什麼,如果你告訴我我可以嘗試幫忙。

這裏的管道:

https://pipes.yahoo.com/pipes/pipe.info?_id=1656d9fcab9d9ed6016bdae7486ee71f

UPDATE

我看到的,棘手的部分是添加多個類別節點RSS提要。不幸的是,我不認爲這是可能的。我更新了管道,以便現在有item.category.1,.2,.3等等,但是當您查看管道的RSS輸出時,它不顯示任何類別。 (我認爲這可能與創建RSS運算符沒有類別字段有關。)

在JSON輸出中存在多個正確的類別。

我還測試瞭如果只有一個類別字段,它會在RSS輸出中正確顯示。如果有不止一個,那麼不。

而且我恐怕只要我能找到你。

+0

這很好,但接下來的任務是採取'描述'中的每個單詞,並將它們添加到他們自己的價值在類別/ 1,類別/ 2,類別/ 3等。像這樣:http://i.imgur.com/ERbRxaK.jpg 可能嗎?謝謝 – therourke

+0

不幸的是,我不認爲這是可能的:(請參閱我的更新回答。 – janos

+0

Dang。謝謝。你認爲還有其他解決方法嗎?是否有辦法將標籤分成單獨的項目?只要它們是分開的,我可以對它們做些什麼 – therourke