0

以前の質問 ( 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 はこの種のタスクを支援できますか? 単純な検索と置換のタスクのように感じますが、どうすればよいか非常に迷っています。

4

1 に答える 1