继我之前的问题(如何在 ColdFusion 中使用 regex 将所有锚标记替换为不同的锚)之后,我想使用 JSoup 来操作Argument
来自 aForm
的内容,然后将操作的内容插入数据库。
以下是从表单发送到服务器的示例:
<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
属性。
然后我将进行更多处理,但最终我需要将src
每个img
标签中的值替换为由服务器端的 CF11 创建的不同值。只有这样我才能将表单值插入数据库。
JSoup 可以协助完成此类任务吗?感觉就像一个简单的查找和替换任务,但我对如何去做很迷茫。