c#,查找字符串是否有图像链接,并将其替换为html超链接
我想获取一个文本字符串,找出是否有指向图像的链接,并将其替换为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
查看此图像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忽略大小写。我想你也会想匹配一些大写字母。谢谢,这对我很有用。我真的很感激。