日期:2014-05-17 浏览次数:20649 次
完整表达式例子: {@body}:text 获取body所有内容 {#id:hello}:text 获取id为hello的内容 {#class:hello}:attr(src) 获取class为hello的src属性 {#id:yes>@a(3)}:text 获取id为yes下的第三个a标签的文本 {@div(1)}:attr(id) 获取第一个div标签的id {#id:one>#id:two}:text 获取id为one 下的id为two的所有内容 {#id:one>#id:two<#id:three}:text 获取id为one 下的id为two 上的id为three的所有内容 {@div}:attr(id) 获取所有div标签的id,返回一个列表 {#id:me,#id:you}:text 获取id为me和id为you的内容,返回一个列表 -{#id:shit} 删除id为shit的整个标签,没有找到这个id则返回-1 -{#id:shit}:text 删除id为shit的文本内容,保留标签,没有找到这个id则返回-1 -{#id:shit}:attr(title) 删除id为shit标签的title属性,没有找到这个id则返回-1 +{#id:shit}:text[123] 给id为shit的标签添加内容为123的文本,没有找到这个id则返回-1,默认为底部 +{#id:shit}:text[base64(MTIz)] 给id为shit的标签添加base64编码后的内容,这个内容会自动解码 {#id:shit}:attr(alt)[test] 把id为shit的alt属性内容重新设置为 test,如果没有这个属性,会自动添加 {#id:shit}:text[123] 把id为shit的内容设置为123,例如<div id="shit">111</div>,执行后为<div id="shit">123</div> 这种样式 class="first last",把空格使用&代替 {#class:first&last}
?
执行一个字符串例如:
HtmlOE htmloe(html数据字符串);
htmloe.exec("-{@div}"); //删除所有的div
htmloe.exec("-{!}"); ? ? ? //删除所有的注释
string strData = htmloe.exec("{#class:haha}:text"); ? ? ? //得到class属性为haha标签的内容
string strNewHtml = htmloe.getHtml();??? //得到修改之后的html数据
?
只需要从一个字符串读取html数据,然后可以进行操作,其中html解析完全在内部执行
?