0

ばかげた質問があるかもしれません。文字列があるとしましょう:

"my name <em>is</em> Tom <em>Papas</em> and I am 30 <em>years</em> of age<em>!</em>"

<em>問題は、タグで囲まれているサブ文字列を抽出し、coldfusionを使用してリスト、配列、またはコンマ区切りの文字列として出力するにはどうすればよいかということです。タグで囲まれている部分文字列がわからないことに注意してください。部分文字列を盲目的に抽出する必要があります。

前もって感謝します、

トム

ギリシャ

4

2 に答える 2

1

jsoupをダウンロードし、そのjarファイルをCFのlibフォルダーに配置します。

html = "my name <em>is</em> Tom <em>Papas</em> and I am 30 <em>years</em> of age<em>!</em>";

dom = createObject("java", "org.jsoup.Jsoup").parse(html);
emElements = dom.getElementsByTag("em");

results = [];
for (em in emElements)
    arrayAppend(results, em.text());

詳細については、http://www.bennadel.com/blog/2358-Parsing-Traversing-And-Mutating-HTML-With-ColdFusion-And-jSoup.htmをご覧ください。

または、基本的な正規表現を使用します

matches = rematch("<em>[^<]*</em>", html);
results = [];
for (match in matches)
    arrayAppend(results, rereplace(match, "<em>(.*)</em>", "\1") ); 
于 2012-08-01T22:46:35.033 に答える
0

CF10またはRailo4では、次のようにxmlParse()をUnderscore.cfcのmap()関数と組み合わせることができます。

str = "my name <em>is</em> Tom <em>Papas</em> and I am 30 <em>years</em> of age<em>!</em>";
str = "<myWrapper>" & str & "</myWrapper>";
xmlObj = XmlParse(str);
resultAsArray = _.map(xmlObj.myWrapper.xmlChildren, function (val) {
    return val.xmlText;
});

(免責事項:Underscore.cfcを作成しました)

于 2012-08-04T02:14:22.053 に答える