分類
好用軟體

再調整一下flickrset小工具

之前利用了 YQL 將 Flickr 中的 set 相簿 url 抓出來 (LINK), 方便在寫文章時, 取出整本相簿的相片內容, 也容易引用, 利用產生 html 的方式, 更方便應用.

不過還差了一點點, 就是預覽的功能, 今天花了一點時間, 多加了一些程式把這個功能加上去了, 操作方式很單純:

  1. 先填入 flickr set id
  2. 再選擇 “with html” 選項
  3. 按下 “產生圖片網址”
  4. 若 set id 正確, 下面會出現含 html code 的文字內容及一個新做的”直接秀圖”鈕
  5. 按下”直接秀圖”鈕即可

快來試看看囉, 工具網址在: http://sample.diary.tw/flickrset/

另外加碼送, 直接把 setid 放在 url 後面更方便, 操作就直接是操作上面的步驟而產生秀圖的結果, 方便傳遞相片使用, 例如:
http://sample.diary.tw/flickrset/?setid=72157600079438372

歡迎多多利用!!

ps. 也歡迎大家留言分享好圖好作品的連結!!

分類
.net

使用Regex.Replace中的MatchEvaluator

在 .net 中的 Regular Expression, 是使用這個 namespace: System.Text.RegularExpressions

其中若是要做比對樣式的內容取代, 可以使用 MatchEvaluator, 來進行將比對的內容進行處理再替代回去. 例如將 Server.UrlEncode 後的 %2f 改為 %2F, 而其他部分不要異動大小寫時, 就很實用.

程式碼如下:

using System.Text.RegularExpressions;

string value = "http://www.google.com";
value = Server.UrlEncode(value);
value = Regex.Replace(value, "(%[0-9a-f][0-9a-f])", delegate(Match match) { return match.ToString().ToUpper();});
Response.Write(value);

其中 Server.UrlEncode 出來的結果為: http%3a%2f%2fwww.google.com , 而利用了 Regex.Replace 配合 MatchEvaluator 後, 就改為 http%3A%2F%2Fwww.google.com , 這樣只有改到 %xx 這種的大小寫, 而不會影響原來的大小寫.

其中的 MatchEvaluator 是一個 delegate 就是用來做每個比對到的內容再做加工的處理, 這裡用了類似 javascript 中的暱名函數處理, 把 MatchEvaluator 直接 inline 寫在裡面. 其中的 System.Text.RegularExpressions.Match 還有許多屬性可以, 例如 Index 可以取出是第幾個比對到的, 可以參考: http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.match_members.aspx

這樣一來是不是變得很容易處理字串, 另外也要注意有關的效率問題, 一定要顧及, 否則在大量文字比對後, 又利用了 MatchEvaluator 來進行處理, 若該函數效率不好, 會大打折扣的.

參考資料:
http://dotnetperls.com/regex-replace