2012-01-05 1 views
1

私はフォーマットのTwitterのフィードを持っている:ColdFusionのREReplace(Twitterのフィードを解析するために)

1. Username: Blah blah http://something.com #hashtag 
2. Username: Blah blah http://something.com #hashtag 
3. Username: Blah blah http://something.com #hashtag 

私はユーザー名を削除していますが、どのように私は、HTTPの周り(スタイリングのための)タグをラップします:// #hashtagsと#hashtags?

<cfset feedurl="http://twitter.com/statuses/user_timeline/MyUserID.rss" /> 
    <cffeed 
     source="#feedurl#" 
     properties="feedmeta" 
     query="feeditems" /> 
    <cffeed 
    source="#feedurl#" 
    properties="feedmeta" 
    query="feeditems" /> 
<ul> 
    <cfoutput query="feeditems"> 
     <cfsavecontent variable="twitterString"> 
     #content# 
     </cfsavecontent> 
     <li>#REReplace(twitterString, "UserName: ", "")#</li> 
    </cfoutput> 
</ul> 

答えて

1

これは私の仕事:あなたは明らかに "URL" と "ハッシュタグ" のクラスのスタイルを提供する必要があります

<cfset feedurl="http://twitter.com/statuses/user_timeline/jakefeasel.rss" /> 
    <cffeed 
     source="#feedurl#" 
     properties="feedmeta" 
     query="feeditems" /> 
    <cffeed 
    source="#feedurl#" 
    properties="feedmeta" 
    query="feeditems" /> 
<ul> 
    <cfoutput query="feeditems"> 

     <cfsavecontent variable="twitterString"> 
     #REReplace(content, "UserName: ", "")# 
     </cfsavecontent> 
     <cfset formattedString = twitterString> 

     <cfloop array='#[{"regex" = 'http://\S+', "class" = "URL"}, {"regex" = "##\w+", "class" = "hashTag"}]#' index="regexStruct"> 
      <cfset currentPos = 0> 
      <cfset matches = ReFindNoCase(regexStruct.regex, twitterString, currentPos, true)> 
      <cfloop condition="matches.len[1] IS NOT 0"> 
       <cfset formattedString = Replace(formattedString, mid(twitterString, matches.pos[1], matches.len[1]), "<span class='#regexStruct.class#'>" & mid(twitterString, matches.pos[1], matches.len[1]) & "</span>")> 

       <cfset currentPos = matches.pos[1] + matches.len[1]> 
       <cfset matches = ReFindNoCase(regexStruct.regex, twitterString, currentPos, true)> 
      </cfloop> 
     </cfloop> 

     <li> 
      #formattedString# 
     </li> 
    </cfoutput> 
</ul> 

は、ここに私の現在のColdFusionコードです。

関連する問題