正则去除标签问题,谢谢!

QDcunzhang 2010-09-29 02:41:37
<!-- publish_helper name='原始正文' p_id='6' t_id='12' d_id='5225186' f_id='41' -->

<p>  青少年<p>

<div style="text-align:center"><img alt="刘继在比赛中" src="http://i1.sinaimg.cn/ty/2010/0929/2010929101036.jpg" style="border:px solid #000000" title="刘继在比赛中" /></div>

<div style="margin: 5px 0; text-align: center;">刘继在比赛中</div>

<p>  陈彦p>
<!-- publish_helper_end -->


上面是html,我想读取中间的文本,可不可以根据“<!-- publish_helper ”“<!-- publish_helper_end -->”来取???
可以的话正则怎么去?
对了,图片路径怎么取?


谢谢!小弟正则不懂...
...全文
264 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 lxcnn 的回复:]
引用 18 楼 qdcunzhang 的回复:
这个只是把图片路径改了,本地并没有,麻烦过客兄再把他的原本路径给我,我写了个保存本地的方法,但是没有路径...呵呵!
再次感谢!!!

不是很明白你的意思,具体描述一下吧
要提取什么,替换什么
[/Quote]
我百度出来了!!
谢谢过客兄了....
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
你给我的正则对了,但是因为图片原本是网络的如:<img src="http://www.baidu.com/images/1.jpg">
你给我的能够替换为<img src="本地路径+图片本身的名称">
但是现在图片还没有保存到本地,我想先获取网络的图片路径“http://www.baidu.com/images/1.jpg”,我写好了保存本地的方法了,就差网络的路径了 ....
-过客- 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 qdcunzhang 的回复:]
这个只是把图片路径改了,本地并没有,麻烦过客兄再把他的原本路径给我,我写了个保存本地的方法,但是没有路径...呵呵!
再次感谢!!![/Quote]

不是很明白你的意思,具体描述一下吧
要提取什么,替换什么
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
MatchCollection mc = Regex.Matches(yourStr, @"(?<=<(?:input|img)(?:(?!src)[\s\S])*src=(['""]?))[^""'\s>]*(?=\1)", RegexOptions.IgnoreCase);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}

这个对不??
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lxcnn 的回复:]
C# code
string test = "<img alt=\"刘继在比赛中\" src=\"http://i1.sinaimg.cn/ty/2010/0929/2010929101036.jpg\" style=\"border:px solid #000000\" title=\"刘继在比赛中\" />";
Regex reg = new Regex(@"(?is)(?<=<img[^……
[/Quote]
这个只是把图片路径改了,本地并没有,麻烦过客兄再把他的原本路径给我,我写了个保存本地的方法,但是没有路径...呵呵!
再次感谢!!!
-过客- 2010-09-29
  • 打赏
  • 举报
回复

string test = "<img alt=\"刘继在比赛中\" src=\"http://i1.sinaimg.cn/ty/2010/0929/2010929101036.jpg\" style=\"border:px solid #000000\" title=\"刘继在比赛中\" />";
Regex reg = new Regex(@"(?is)(?<=<img[^>]*?src=(['""]?))[^'""\s>]*(?=/[^'""\s>/]+\1[^>]*>)");
string result = reg.Replace(test, "本项目的一个文件的路径");
richTextBox2.Text = result;
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qdcunzhang 的回复:]
引用 8 楼 lxcnn 的回复:
引用 6 楼 qdcunzhang 的回复:
我先试试,那图片的地址呢?
取到后我要保存本地然后替换原来的路径,麻烦不?

用7楼的

不麻烦,给下你要的最终结果

刚反应过来,一直等你回话,原来你在等我要最后的结果啊,呵呵!
我要的是

C# code
<img alt="刘继在比赛中" src="http://i1.sinaimg.……
[/Quote]
这是最后一个问题...晕了...
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qdcunzhang 的回复:]
最后一个问题,如果运行成功结贴...
超链接<a href="**">好</a>
有时候超链接是<a href="***" style="****">好</a>
超链接前面和后面都有代码,我只想取消了超链接的html标签,但是“好”要留下...请问正则怎么写!!
谢谢!
[/Quote]
最后一个问题...谢谢!
-过客- 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 qdcunzhang 的回复:]
最后一个问题,如果运行成功结贴...
超链接<a href="**">好</a>
有时候超链接是<a href="***" style="****">好</a>
超链接前面和后面都有代码,我只想取消了超链接的html标签,但是“好”要留下...请问正则怎么写!!
谢谢!
[/Quote]

Regex reg = new Regex(@"(?is)<a[^>]*>(.*?)</a>");
string result = reg.Replace(yourStr, "$1");
richTextBox2.Text = result;
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lxcnn 的回复:]
引用 6 楼 qdcunzhang 的回复:
我先试试,那图片的地址呢?
取到后我要保存本地然后替换原来的路径,麻烦不?

用7楼的

不麻烦,给下你要的最终结果
[/Quote]
刚反应过来,一直等你回话,原来你在等我要最后的结果啊,呵呵!
我要的是
<img alt="刘继在比赛中" src="http://i1.sinaimg.cn/ty/2010/0929/2010929101036.jpg" style="border:px solid #000000" title="刘继在比赛中" />

要改为
<img alt="刘继在比赛中" src="本项目的一个文件的路径/2010929101036.jpg" style="border:px solid #000000" title="刘继在比赛中" />

但是有的链接有style有的没有
谢谢!!!
pxynet 2010-09-29
  • 打赏
  • 举报
回复
...这个问题有难度,不记得怎么写
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
最后一个问题,如果运行成功结贴...
超链接<a href="**">好</a>
有时候超链接是<a href="***" style="****">好</a>
超链接前面和后面都有代码,我只想取消了超链接的html标签,但是“好”要留下...请问正则怎么写!!
谢谢!
pxynet 2010-09-29
  • 打赏
  • 举报
回复
Regex regex = new Regex(@"<!?--.*?>", RegexOptions.IgnoreCase);
string content = regex.Replace(content ,"");
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 lxcnn 的回复:]
哦,那就没必要做二次处理了


C# code
Regex regBody = new Regex(@"(?is)<!-- publish_helper[^>]*>(.*?)<!-- publish_helper_end -->");
Match m = regBody.Match(yourStr);
if (m.……
[/Quote]
你的意思是用菏泽行代码就行了?图片就可以了??
谢谢!!!
-过客- 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qdcunzhang 的回复:]
我先试试,那图片的地址呢?
取到后我要保存本地然后替换原来的路径,麻烦不?[/Quote]

用7楼的

不麻烦,给下你要的最终结果
-过客- 2010-09-29
  • 打赏
  • 举报
回复
哦,那就没必要做二次处理了

            Regex regBody = new Regex(@"(?is)<!-- publish_helper[^>]*>(.*?)<!-- publish_helper_end -->");
Match m = regBody.Match(yourStr);
if (m.Success)
{
richTextBox2.Text = m.Groups[1].Value;
}
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lxcnn 的回复:]
这样?


C# code
Regex regBody = new Regex(@"(?is)<!-- publish_helper[^>]*>.*?<!-- publish_helper_end -->");
Regex regTag = new Regex(@"<[^>]*>");
Match m = regB……
[/Quote]
我先试试,那图片的地址呢?
取到后我要保存本地然后替换原来的路径,麻烦不?
-过客- 2010-09-29
  • 打赏
  • 举报
回复
这样?

            Regex regBody = new Regex(@"(?is)<!-- publish_helper[^>]*>.*?<!-- publish_helper_end -->");
Regex regTag = new Regex(@"<[^>]*>");
Match m = regBody.Match(yourStr);
if (m.Success)
{
richTextBox2.Text = regTag.Replace(m.Value, "");
}
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
对了,如果
<!-- publish_helper name='原始正文' p_id='6' t_id='12' d_id='5225186' f_id='41' -->
有时候会是<!-- publish_helper name='原始正文' -->
那正则写一个可以么?
QDcunzhang 2010-09-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 q107770540 的回复:]
你可以把你想要的结果帖一下
[/Quote]
不好意思...忘了说明了
最后的结果
<p>  青少年<p>

<div style="text-align:center"><img alt="刘继在比赛中" src="http://i1.sinaimg.cn/ty/2010/0929/2010929101036.jpg" style="border:px solid #000000" title="刘继在比赛中" /></div>

<div style="margin: 5px 0; text-align: center;">刘继在比赛中</div>

<p>  陈彦p>
加载更多回复(2)

62,271

社区成员

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

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

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

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