Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#,查找字符串是否有图像链接,并将其替换为html超链接_C#_Asp.net_Image - Fatal编程技术网

c#,查找字符串是否有图像链接,并将其替换为html超链接

c#,查找字符串是否有图像链接,并将其替换为html超链接,c#,asp.net,image,C#,Asp.net,Image,我想获取一个文本字符串,找出是否有指向图像的链接,并将其替换为html超链接,使其看起来是嵌入的 例如: 查看此图像www.xyz/abcd.jpg 当我想显示它时,我想嵌入图像: 看看这张图片 类似这样的东西。可能类似以下的东西: 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

我想获取一个文本字符串,找出是否有指向图像的链接,并将其替换为html超链接,使其看起来是嵌入的

例如:

查看此图像www.xyz/abcd.jpg
当我想显示它时,我想嵌入图像:

看看这张图片

类似这样的东西。

可能类似以下的东西:

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);
var str=“查看此图像www.xyz/abcd.jpg查看此图像http://www.xyz/abcd.jpg";
变量词=str.Split(“”);
for(int i=0;i
很难做到可靠,但您可以尝试以下方法:

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);
<img src ="quick.brown/fox.jpg"/> <img src ="http://jumps.over.the/lazy/dog.png"/>
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="">

尝试以下简单方法:

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);
<img src ="quick.brown/fox.jpg"/> <img src ="http://jumps.over.the/lazy/dog.png"/>
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="">
string l_input=“查看此图像www.xyz/abcd.jpg”;
l_input=Regex.Replace(
l_输入,

@“(https?:\/\/)([\da-z\.-]+)\([a-z\.]{2,6})([\/\w\.-]*)*\/(?使用以下正则表达式:

Regex.Replace(url, @"(https?:?//?[^'<>]+?\.(?:jpg|jpeg|gif|png))", "<img src=\"$0\" alt=\"\">");
Regex.Replace(url,@“(https?:?/?[^']+?\(?:jpg | jpeg | gif | png)),”;

问题在于,人们不仅会写“查看此图像”…他们可能会说“LOL have a Look:”或其他什么。而且你不能转换超链接中包含图像的所有文本…我更改了格式,因为我相信你想插入HTML。如果不想,你可以使用“回滚”"功能恢复您的问题。您正在寻找正则表达式……这个问题太模糊了,无法回答。我的第一个想法是正则表达式。模式几乎可以是任何形式。投票结束。@RajeshGupta尝试不更改您的问题-答案都可以,即使您有一些不同,也可以帮助您移动一个。更新d忽略大小写。我想你也会想匹配一些大写字母。谢谢,这对我很有用。我真的很感激。