来自网页coldfusion的短语图片

时间:2010-05-13 22:19:54

标签: coldfusion html-parsing

我需要从网页来源获取图片。

我可以使用cfhttp方法获取并使用htmleditformat()从该页面读取html,现在我需要遍历内容以获取所有图像url(src)

我可以使用rematch()或refind()等...如果是,如何?

请帮助!!!!!

如果我不清楚我可以尝试澄清..

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

这是一个可能会在许多不良情况下绊倒的功能,但如果您只是需要快速和肮脏的东西,它可能会起作用。

<cffunction name="getSrcAttributes" access="public" output="No">
    <cfargument name="pageContents" required="Yes" type="string" default="" />

    <cfset var continueSearch = true />
    <cfset var cursor = "" />
    <cfset var startPos = 0 />
    <cfset var finalPos = 0 />
    <cfset var images = ArrayNew(1) />

    <cfloop condition="continueSearch eq true">
        <cfset cursor = REFindNoCase("src\=?[\""\']", arguments.pageContents, startPos, true) />

        <cfif cursor.pos[1] neq 0>
            <cfset startPos = (cursor.pos[1] + cursor.len[1]) />
            <cfset finalPos = REFindNoCase("[\""\'\s]", arguments.pageContents, startPos) />
            <cfset imgSrc = Mid(arguments.pageContents, startPos, finalPos - startPos) />

            <cfset ArrayAppend(images, imgSrc) />
        <cfelse>
            <cfset continueSearch = false />
        </cfif>
    </cfloop>

    <cfreturn images>
</cffunction>

注意:我目前无法验证此代码是否有效。

答案 2 :(得分:1)

使用浏览器和jQuery“查询”来自DOM的所有img标签可能更容易......