2011-10-21 6 views
1

私はURL書き換えを作成できるように、データベースからすべてのリンクをextarctする必要があります。 SQLステートメントを使用して、テーブルからリンクを抽出するにはどうすればよいですか?時には、セル内に複数のリンクがあり、さらに複雑になります。どのようにこれを達成するための任意のアイデアですか?SQLを使用してデータベーステーブルからすべてのリンクを抽出しますか?

EDIT この例は次のようになります。htmlcontrols FROM myvalを選択します。 "myval"には、 "<div>Hi this is a test. <a href="somewhere.htm">Click here</a> or <a href="http://somewhereelse.com/testarea">here</a></div>"のようなHTML文字列があります。私はこのような抽出をしたい:

LINKS 
----- 
somewhere.htm 
http://somewhereelse.com/testarea 
+3

を見てみると、どのようなあなたのデータは、次のようになります。複数の値を持つ属性を格納するには、(悪い)方法がたくさんあります。 – Yuck

+0

質問から、私はそこにHTMLのテキストフィールドがあると思います。そしてOPはそれらのHTML文字列から各リンクを取り除く必要があります。 – MatBailie

+0

@Dems右ですが、デリミタは重要なものです。あなたが言ったように、それはミックス内のリンクを持つテキストですか?あるいは、 '| 'で区切られた1つ以上のリンクを持つ可能性のあるフィールドです。 ; \ t \ r \ n' ...? – Yuck

答えて

0

あなたはおそらく、クライアント側でこれを扱うフィールドを反復処理し、必要にどんなテーブル/カラムに再度挿入し、それらにHTMLを解析するいずれかのほうが良いでしょう。少なくとも構文解析を効率的に実行できるのはcreating a UDFです。

私は上記の投稿のリンクはUDF正規表現関数の実装であることに注意してくださいしかし、私はが、これは常にalmosta bad ideaであるとして、あなたがHTMLを解析するために正規表現を使用する必要があることを必ずしも示唆していません。あなたはCLR機能で行く場合

は、あなたがこれまでのクエリの例を表示する必要がありますHTMLAgilityPack