首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coldfusion REReplace (解析Twitter Feed)

Coldfusion REReplace (解析Twitter Feed)
EN

Stack Overflow用户
提问于 2012-01-06 05:50:39
回答 1查看 478关注 0票数 1

我有一个twitter提要,格式是:

代码语言:javascript
复制
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://部分和#hashtag周围包装标签(用于样式)?

以下是我当前的coldfusion代码:

代码语言:javascript
复制
 <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>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-06 06:22:51

这对我很有效:

代码语言:javascript
复制
 <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>

显然,您必须为"URL“和"hashtag”类提供样式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8750344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档