2

テキストの文字列を取得して、画像へのリンクがあるかどうかを確認し、それをhtmlハイパーリンクに置き換えて、埋め込まれているように見せたいと思います。

例えば:

Look at this image www.xyz/abcd.jpg

それを表示したいときは、画像を埋め込みたいです:

look at this image <img src="www.xyz/abcd.jpg" alt="" />

このようなもの。

4

4 に答える 4

1

おそらく次のようなものです:

var str = "Look at this image www.xyz/abcd.jpg Look at this image http://www.xyz/abcd.jpg";
var words = str.Split(' ');
for (int i = 0; i < words.Length; i++)
{
    var word = words[i];
    if((word.EndsWith(".png") || word.EndsWith(".jpg")) && 
       (word.StartsWith("http://") || word.StartsWith("www.")))
        words[i] = "<img src=\"" + word + "\" alt=\"\" />";
}
var str2 = String.Join(" ", words);
于 2013-01-17T20:32:00.843 に答える
1

次のような簡単なことを試してください。

string l_input = "Look at this image www.xyz/abcd.jpg";

l_input = Regex.Replace( 
    l_input, 
    @"(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?(?<=jpg|png|gif)", 
    "<img src=\"$0\" alt=\"\">", 
    RegexOptions.IgnoreCase
);

// l_input = Look at this image <img src="www.xyz/abcd.jpg" alt="">

URLパターンはhttp://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/から取得されます

于 2013-01-17T20:32:53.347 に答える
1

確実に行うのは非常に困難ですが、次のようなことを試すことができます。

var str = "quick.brown/fox.jpg http://jumps.over.the/lazy/dog.png";
var link = Regex.Replace(
    str,
    "\\b((?:(?:http|https)://)?[a-zA-Z./]+[.](?:jpg|png))\\b",
    "<img src =\"$1\"/>");
Console.WriteLine(link);

上記の正規表現は、.pngまたはで終わるものすべてに一致し、 のキャプチャ グループ.jpg使用してマークアップで囲みます。Replacesrc="..."

これはideoneの簡単なデモです。出力は次のようになります。

<img src ="quick.brown/fox.jpg"/> <img src ="http://jumps.over.the/lazy/dog.png"/>
于 2013-01-17T20:32:27.540 に答える
0

次の正規表現を使用します。

Regex.Replace(url, @"(https?:?//?[^'<>]+?\.(?:jpg|jpeg|gif|png))", "<img src=\"$0\" alt=\"\">");
于 2013-01-17T20:35:56.373 に答える