仅当使用ColdFusion不存在链接时才显示链接?

仅当使用ColdFusion不存在链接时才显示链接?,coldfusion,coldfusion-8,Coldfusion,Coldfusion 8,因此,我们网站上的公告功能默认使用以下代码(部分代码)显示“阅读更多”链接: #挑逗文字 (注意,前面有一个cfquery语句,为了代码的简洁,我将其排除在外) 我在这里试图做的是,只有在#摘要#文本#中不包含任何链接时,才能在#摘要#文本#后显示“阅读更多”链接,以便我可以在需要时手动添加链接并删除自动生成的链接 有没有想过cfif声明可以做到这一点 谢谢 编辑:为了澄清,如果在摘要文本中发现任何链接,我想删除“阅读更多内容”。这应该可以: <cfif findnocase('htt

因此,我们网站上的公告功能默认使用以下代码(部分代码)显示“阅读更多”链接:


#挑逗文字
(注意,前面有一个cfquery语句,为了代码的简洁,我将其排除在外)

我在这里试图做的是,只有在#摘要#文本#中不包含任何链接时,才能在#摘要#文本#后显示“阅读更多”链接,以便我可以在需要时手动添加链接并删除自动生成的链接

有没有想过cfif声明可以做到这一点

谢谢

编辑:为了澄清,如果在摘要文本中发现任何链接,我想删除“阅读更多内容”。

这应该可以:

<cfif findnocase('http://', teaser_text) eq 0>
        <a href="/announcements/?id=#id#" title="Read more...">Read more &raquo;</a>    
        </cfif>

如果要手动放置链接,只需更改FindLocase()函数的第一个参数[即htp/https]或使用正则表达式确定它是否是url[通过:refindnocse()]

-肖恩这应该行得通:

<cfif findnocase('http://', teaser_text) eq 0>
        <a href="/announcements/?id=#id#" title="Read more...">Read more &raquo;</a>    
        </cfif>

如果要手动放置链接,只需更改FindLocase()函数的第一个参数[即htp/https]或使用正则表达式确定它是否是url[通过:refindnocse()]


-肖恩

像这样的东西应该能满足你的需要

<cfif announcement.recordCount gt 0>
<cfloop query="announcement">
<cfif  findnocase("href",anouncement.teaser_text) >
<a href="/announcements/?id=#announcement.id#"> #anouncement.teaser_text# </a>
<cfelse>
<a href="/announcements/?id=#announcement.id#" >   #anouncement.teaser_text#  Read more </a>
</cfif>
</cfloop>
</cfif>

像这样的东西应该可以满足您的需要

<cfif announcement.recordCount gt 0>
<cfloop query="announcement">
<cfif  findnocase("href",anouncement.teaser_text) >
<a href="/announcements/?id=#announcement.id#"> #anouncement.teaser_text# </a>
<cfelse>
<a href="/announcements/?id=#announcement.id#" >   #anouncement.teaser_text#  Read more </a>
</cfif>
</cfloop>
</cfif>

如果在摘要文本中未找到超链接,则仅显示“阅读更多”链接,此检查可能足够好:

<cfif NOT refindNoCase('<a\s[^>]*?\bhref\s*=',teaser_text) >
    <a href="/announcements/?id=#id#" title="Read more...">Read more &raquo;</a>
</cfif>

若在摘要文本中未找到超链接,则仅显示“阅读更多”链接,此检查可能足够好:

<cfif NOT refindNoCase('<a\s[^>]*?\bhref\s*=',teaser_text) >
    <a href="/announcements/?id=#id#" title="Read more...">Read more &raquo;</a>
</cfif>


如果在摘要文本中找到任何链接,是否要删除“阅读更多”链接,或者仅当存在指向
/announcements/?id=#id#
的链接时才删除该链接?顺便说一句,如果原始代码中的cfif/cfloop之间没有任何内容(在
之后没有任何内容,您根本不需要cfif-零行查询的cfloop将跳过。您还可以将cfloop和cfoutput合并为
。更新以澄清-我想删除“阅读更多”如果在Triser_text.中找到任何URL,这听起来不是个好主意,但我已经更新了我的答案,因此它基本上会查找
,如果您的Triser text链接到其他页面(或完全不同的网站),则可能与此无关。如果公告有更多内容需要阅读,则应显示“阅读更多”链接,如果没有,则不显示。即,您最可能想要的是
[阅读更多]
如果在摘要文本中找到任何链接,是否要删除“阅读更多”链接,或者仅当存在指向
/announcements/?id=#id#
的链接时才删除该链接?顺便说一句,如果原始代码中的cfif/cfloop之间没有任何内容(在
之后没有任何内容,您根本不需要cfif-零行查询的cfloop将跳过。您还可以将cfloop和cfoutput合并为
。更新以澄清-我想删除“阅读更多”如果在Triser_text.中找到任何URL,这听起来不是个好主意,但我已经更新了我的答案,因此它基本上会查找
,如果您的Triser text链接到其他页面(或完全不同的网站),则可能与此无关。如果公告有更多内容需要阅读,则应显示“阅读更多”链接,如果没有,则不显示。即,您最可能想要的是
[read more]
,但示例链接不包含
http://
,而作为外部链接,外部链接很可能不会将“阅读更多”排除在显示之外,所以这将在两个方面失败。:/Timothy可以将他想要的任何东西作为第一个参数&因为他是手动输入链接的,所以他应该能够维护它。-不确定排除“阅读更多”是什么意思-但是,我同意可能搜索“href=”维护内部手动链接是一个更好的选择。搜索
http://
将不会检测到
,因此“阅读更多”链接将被错误显示。如果文本包含
http://google.com
然后该链接将被排除在外。如果Timothy关心超链接和URL,但检查是否存在错误,这仍然有点模糊href在这个阶段看起来肯定会更正确。除了示例链接不包含
http://
,而作为外部链接可能会包含这些内容之外(最有可能的是,外部链接不应将阅读更多内容排除在外),所以这将在两个方面失败。:/Timothy可以将他想要的任何东西作为第一个参数&因为他是手动输入链接的,所以他应该能够维护它。-不确定排除“阅读更多”是什么意思-但是,我同意可能搜索“href=”维护内部手动链接是一个更好的选择。搜索
http://
将不会检测到
,因此“阅读更多”链接将被错误显示。如果文本包含
http://google.com
然后该链接将被排除在外。如果Timothy关心超链接和URL,但检查是否存在错误,这仍然有点模糊href在这一阶段看起来肯定会更正确。为什么您将整个摘要文本包装在超链接中,并在cfif/cfelse的两侧放置相同的文本?:/为什么您将整个摘要文本包装在超链接中,并在cfif/cfelse的两侧放置相同的文本?:/