我想知道是否有人知道这个html字符串代码是什么:
<object height=\\\"38\" + \"5\\\" width=\\\"64\" + \"0\\\" classid=\\\"clsid:D27CDB6E-
AE6D-11cf-96B8-444553540000\\\" id=\\\"movie_player\\\" ><param name=\\\"movie\\\"
value=\\\"http:\\/\\/s.ytimg.com\\/yt\\/swf\\/watch_as3-vfl186120.swf\\\"><param
name=\\\"flashvars\\\" value=\\\"...." allowscriptaccess=\\\"always\\\"
allowfullscreen=\\\"true\\\" bgcolor=\\\"#000000\\\" \\/>
它看起来很可怕......它嵌入在JavaScript函数中,以后可以呈现给页面。任何人都可以告诉我如何使用Html Agility Pack或RegEx来清理它,虽然看起来很麻烦!
重要的方面是让height=\\\"38\" + \"5\\\"
成为height="385"
等。我可以摆脱过度的斜线没问题。
非常感谢任何指导。
编辑:最后这是我用来完成标签的内容
objectNodeFormat.Replace(@"\", "");
objectNodeFormat.Replace(@" + ", "");
objectNodeFormat.Replace(@"""""", "");
再次感谢。
答案 0 :(得分:1)
看起来双反斜杠是为了逃避斜线和第三个反斜杠来逃避报价......哇!它确实看起来很麻烦....说...把所有字符串填充到StringBuilder中并使用删除 StringBuilder对象的Replace方法来去除所有那些反斜杠......
StringBuilder sbRemove = new StringBuilder();
sbRemove.Append(@"<object height=\\\"38\" + \"5\\\" width=\\\"64\" + \"0\\\" classid=\\\"clsid:D27CDB6E-
AE6D-11cf-96B8-444553540000\\\" id=\\\"movie_player\\\" ><param name=\\\"movie\\\"
value=\\\"http:\\/\\/s.ytimg.com\\/yt\\/swf\\/watch_as3-vfl186120.swf\\\"><param
name=\\\"flashvars\\\" value=\\\"...." allowscriptaccess=\\\"always\\\"
allowfullscreen=\\\"true\\\" bgcolor=\\\"#000000\\\" \\/>");
sbRemove.Replace(@"\\\", "");
sbRemove.Replace(@"\"", "");
编辑: 将其更改为替换 - mea culpa