【发布时间】:2015-02-17 04:01:06
【问题描述】:
继我之前的问题 (How to replace all anchor tags with a different anchor using regex in ColdFusion) 之后,我想使用 JSoup 来处理来自 Form 的 Argument 的内容,然后将处理后的内容插入数据库。
这是从表单发送到服务器的示例:
<form>
<div id="Description" contenteditable="true">
<p>
Terminator Genisys is an upcoming 2015 American
science fiction action film directed by Alan Taylor.
<img id="Img0" src="http://www.moviepics.com/terminator1.jpg" />
<img id="Img1" src="http://www.moviepics.com/terminator2.jpg" />
<img id="Img2" src="http://www.moviepics.com/terminator2.jpg" />
You can find out more by <a href="http://www.imdb.com">clicking here</a>
</p>
</div>
</form>
这是我的 CFC 目前将如何处理它(基本想法):
<cfquery>
INSERT INTO MyTable (Value1, Description)
VALUES
(
<cfif structkeyexists(ARGUMENTS.Value1)>
<cfqueryparam value="#ARGUMENTS.Value1#" cf_sql_type="nvarchar" />
<cfelse>
NULL
</cfif>
,
<!---
Before the below happens, I need to replace the src
attributes of the img tags of Arguments.Description
--->
<cfif structkeyexists(ARGUMENTS.Description)>
<cfqueryparam value="#ARGUMENTS.Description#" cf_sql_type="nvarchar" />
<cfelse>
NULL
</cfif>
)
</cfquery>
我知道<div> 不是表单元素,但不用担心它仍然提交给 CF11,就好像它是使用 JQuery serialize() 技巧的表单元素一样。
CF11 处理这个表单时,它会获取ARGUMENTS.Description 中的数据。我要做的是解析这个参数的内容,找到<img>标签,提取出src属性。
然后我将进行更多处理,但最终我需要将每个img 标记中的src 值替换为CF11 在服务器端创建的不同值。只有这样我才能将表单值插入到数据库中。
JSoup 可以协助完成此类任务吗?感觉就像一个简单的查找和替换任务,但我不知道如何去做。
【问题讨论】:
-
jSoup 非常适合这样的事情。您可以使用 RegEx,但可能会遇到流程失败的边缘情况。
标签: coldfusion jsoup coldfusion-11