3

この 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
4

1 に答える 1

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#を使用して、必要な文字列を取得します。

于 2016-05-27T17:52:54.820 に答える