好吧!我承认我基础不是很好~

小豪 2011-06-07 05:14:26
怎样获取<img alt="" src="/WebUI/Background/images/leftnav.jpg" style="width: 135px; height: 33px; " />??

protected string Image()
{
string str="aaa<img alt="" src="/WebUI/Background/images/leftnav.jpg" style="width: 135px; height: 33px; " />bbbb";
string str1="<img";
string str2="/>";
int i= string.CompareOrdinal(strimg,str1);
int j= string.CompareOrdinal(strimg, str2);
}
...全文
264 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java_007 2011-06-08
  • 打赏
  • 举报
回复
虽然我搞不定,但是我推荐用正则表达式
huangwenquan123 2011-06-07
  • 打赏
  • 举报
回复

//是要把宽高变成你想要的?
int width=100,height=100;
string str="aaa<img alt=\"\" src=\"images/p001.jpg\" style=\"width: 135px; height: 33px; \" />bbbb";
string result = Regex.Replace(str, @"(?<=<img[^>]*?)width\s*([^;]+);\s*height\s*:([^;]+);(?=[^>]*?>)", "width:" + width + "px;height:" + height + "px;");
Response.Write(result);
huangwenquan123 2011-06-07
  • 打赏
  • 举报
回复

string str="aaa<img alt=\"\" src=\"/WebUI/Background/images/leftnav.jpg\" style\"width: 135px; height: 33px; \" />bbbb";
Regex reg = new Regex(@"(?is)<img[^>]*?src=(['""\s]?)([^'""\s]*)\1[^>]*?>");
foreach (Match m in reg.Matches(str))
{
//m.Groups[2].Value就是提取出来的地址
}
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 killuaallen 的回复:]

引用 13 楼 forevernome 的回复:
引用 11 楼 porschev 的回复:
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");……
[/Quote]
变成我想要的~!
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 dasama 的回复:]

lz啊,你是不是用ckeditor传的图片想要实现删除内容同时删除图片的功能,
前一段时间我也遇到这个问题的:发一下我的代码好了
C# code

public class Regular
{

public static string Path { get; set; }

public static List<string> getImgUrl……
[/Quote]
怎样判断它捕捉到呢??

protected string Image(string str)
{
Regex re = new Regex(@"<img.*?/>", RegexOptions.None);
MatchCollection mc = re.Matches("str");
foreach (Match ma in mc)
{
//ma.Value就是你要的img标签了。。
}
if (mc.Count>0)
{
return str;
}
else
{
return "";
}
}
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 porschev 的回复:]

引用 11 楼 porschev 的回复:
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)……
[/Quote]
这个是有问题的,怎样判断它有捕获到呢~

protected string Image(string str)
{
Regex re = new Regex(@"<img.*?/>", RegexOptions.None);
MatchCollection mc = re.Matches("str");
foreach (Match ma in mc)
{
//ma.Value就是你要的img标签了。。
}
if (mc.Count>0)
{
return str;
}
else
{
return "";
}
}
DAsama 2011-06-07
  • 打赏
  • 举报
回复
解释一下
最后一句

Tools.Regular.Path = Path.Replace(path, "");

其中的Tools是命名空间

DAsama 2011-06-07
  • 打赏
  • 举报
回复
lz啊,你是不是用ckeditor传的图片想要实现删除内容同时删除图片的功能,
前一段时间我也遇到这个问题的:发一下我的代码好了

public class Regular
{

public static string Path { get; set; }

public static List<string> getImgUrl(string Content)
{
//正则表达式,用于截取的是引用资源中后缀名为jpg,bmp,gif的字符串,是情况自行修改
Regex r = new Regex("src[^>]*[^/].(?:jpg|bmp|gif)");
//从源代码中获取所有截取的文本串,Content 是HTML源代码
MatchCollection mc = r.Matches(Content);
//将string串存入FilePath数组中
List<string> FilePath = new List<string>();
for (int i = 0; i < mc.Count; i++)
{
FilePath.Add(mc[i].Value.ToString());
}
//获取标准的FullPath
for (int i = 0; i < FilePath.Count; i++)
{
FilePath[i] = FilePath[i].Replace("src=\"/",Regular.Path).Replace("/","\\");
}
return FilePath;
}
}

其中Regual类中的静态成员Path可以再页面中利用如下代码获取

/*物理路径*/
string Path = Request.PhysicalApplicationPath;
/*应用程序根目录*/
string path = Request.ApplicationPath.Replace("/", "\\");
/*替换获取网站实际保存路径*/
Tools.Regular.Path = Path.Replace(path, "");

小弟刚学C#,如果用大牛有更好的方法,请拿出来学习一下!!
porschev 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 porschev 的回复:]
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的SRC ,结……
[/Quote]

(?<=<img.*?src=\").*?(?=\".*?/>)
Ray720_KIllua 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 forevernome 的回复:]
引用 11 楼 porschev 的回复:
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
……
[/Quote]
是提取固定大小的图片还是获取以后变成你想要的大小的图片?
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 porschev 的回复:]
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的SRC ,结……
[/Quote]
我还想把那个图片的大小宽高style="width: 135px; height: 33px; " 限定死一个数值
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 porschev 的回复:]
地址??、SRC?
C# code

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的SRC ,结……
[/Quote]
这个正则表达式有问题啊?
porschev 2011-06-07
  • 打赏
  • 举报
回复

地址??、SRC?

Regex re = new Regex(@"(?<=<img.*?src=\"").*?(?=\"".*?/>)", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的SRC ,结果:/WebUI/Background/images/leftnav.jpg
}




V-Far 2011-06-07
  • 打赏
  • 举报
回复
最好还是用#7的正则.我不会.所以木办法
V-Far 2011-06-07
  • 打赏
  • 举报
回复
int iStart=str.IndexOf("<img");
int iEnd=str.IndexOf("/>",iStart);
string temp=str.Substring(istart,iend-istart);
moduofanchen 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 porschev 的回复:]
C# code


Regex re = new Regex(@"<img.*?/>", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的img标签了。。
}
[/Quote]

正解
porschev 2011-06-07
  • 打赏
  • 举报
回复



Regex re = new Regex(@"<img.*?/>", RegexOptions.None);
MatchCollection mc = re.Matches("这里是你要提取的字符串");
foreach (Match ma in mc)
{
//ma.Value就是你要的img标签了。。
}


  • 打赏
  • 举报
回复
[Quote=引用 4 楼 forevernome 的回复:]

引用 1 楼 mockqi 的回复:

截取字符串。。。

substring();

这个我知道,可是只能限定截取多少个..
而<imgXXXXXXX />里面内容是变的,
整个字符串都是不固定的~
[/Quote]
。。。。。

正则表达式
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 flyerwing 的回复:]

类库其实都不能叫基础.
算法又很少让大家用.
所以说吗,都是扯淡的东西.
[/Quote]
....可是我想截取文章里面图片的地址~
小豪 2011-06-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 mockqi 的回复:]

截取字符串。。。

substring();
[/Quote]
这个我知道,可是只能限定截取多少个..
而<imgXXXXXXX />里面内容是变的,
整个字符串都是不固定的~
加载更多回复(3)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧