2016-05-27 4 views
3

このColdFusionプロジェクトを引き継いで、HTMLを含むデータベースフィールドの値が必要であることがわかりました。フィールドデータは、(改行なし)次のようになります。ColdFusionのデータベースに文字列として保存されたHTMLを解析します

<wddxPacket version="1.0"> 
    <header /> 
    <data> 
     <struct> 
      <var name="en"> 
       <string>3 Nights' Lodging</string> 
      </var> 
      <var name="sp"> 
       <string>3 Noches alojamiento</string> 
      </var> 
     </struct> 
    </data> 
</wddxPacket> 

私はこのデータを使用したいのですが、私は唯一の間のテキストが必要です。私はその機能を使用

<var name='en'><string>3 Nights' Lodging</string></var>

をColdFusionにはHTMLを削除する必要があります:

#REReplaceNoCase(pkg.title, "<[^><]*>", '', 'ALL')# 

しかし、私はそれを使用する場合、私はこのような何かを得る:

3 Nights' Lodging3 Noches alojamiento 

私が欲しいのは、次のとおりです。

文字列の先頭を調べる
3 Nights' Lodging 

答えて

6

、すなわち<wddxPacket ...>それは実際にWDDXです。

ColdFusion + WDDXを検索する場合は、CFWDDXのマニュアルを参照してください。 WDDX文字列のCFMLオブジェクトへの変換(およびその逆)をサポートする組み込みタグであり、操作が簡単です。あなたのケースでは、action="wddx2cfml"を使用して、文字列をCF構造に戻します。

<cfwddx action="wddx2cfml" input="#text#" output="result"> 
<cfdump var="#result#" label="Raw object"> 

次に、キー#result.en#を使用して、必要な文字列を取得します。

関連する問題