以前の質問 ( ColdFusion で正規表現を使用してすべてのアンカー タグを別のアンカーに置き換える方法) に続いて、JSoup を使用して、操作されたコンテンツをデータベースに挿入する前にArgument
、 から取得した のコンテンツを操作したいと思います。Form
フォームからサーバーに送信される内容の例を次に示します。
<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>
ていますが、JQuery serialize() トリックを使用したフォーム要素であるかのように、CF11 にまだ送信されていることを心配する必要はありません。
CF11 がこのフォームを処理すると、データが に取得されARGUMENTS.Description
ます。私がやりたいことは、この引数の内容を解析し、<img>
タグを見つけて、src
属性を抽出することです。
その後、さらに処理を行いますが、最終的にはsrc
、各img
タグの値を、サーバー側で CF11 によって作成された別の値に置き換える必要があります。そうして初めて、フォームの値をデータベースに挿入できます。
JSoup はこの種のタスクを支援できますか? 単純な検索と置換のタスクのように感じますが、どうすればよいか非常に迷っています。