我有一个像这样的html字符串:
<html><body><p>foo <a href='http://www.example.com'>bar</a> baz</p></body></html>
Run Code Online (Sandbox Code Playgroud)
我希望删除所有html标记,以便生成的字符串变为:
foo bar baz
Run Code Online (Sandbox Code Playgroud)
从SO的另一篇文章中我得出了这个函数(使用Html Agility Pack):
Public Shared Function stripTags(ByVal html As String) As String
Dim plain As String = String.Empty
Dim htmldoc As New HtmlAgilityPack.HtmlDocument
htmldoc.LoadHtml(html)
Dim invalidNodes As HtmlAgilityPack.HtmlNodeCollection = htmldoc.DocumentNode.SelectNodes("//html|//body|//p|//a")
If Not htmldoc Is Nothing Then
For Each node In invalidNodes
node.ParentNode.RemoveChild(node, True)
Next
End If
Return htmldoc.DocumentNode.WriteContentTo
End Function
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不会返回我的预期,而是给出:
bazbarfoo
Run Code Online (Sandbox Code Playgroud)
请问,我哪里出错 - 这是最好的方法吗?
问候和快乐的编码!
更新:通过下面的答案我想出了这个功能,可能对其他人有用:
Public Shared Function stripTags(ByVal html As String) As String
Dim htmldoc As New HtmlAgilityPack.HtmlDocument …Run Code Online (Sandbox Code Playgroud) 好吧,即时通讯重新学习PHP的一个小型家庭项目,并遇到一个问题,因此对于所有你的PHP专家来说快速的一个:
我已经构建了一个抽象类,它应该访问YQL Yahoo返回的JSON对象的属性,这些对象被解码为PHP对象.让我们说我想访问该属性id然后我喜欢这样:
print($phpObject->id); // Okay
Run Code Online (Sandbox Code Playgroud)
但我希望能够以更抽象的方式访问该属性,即:
$propertyName = 'id';
print($phpObject[$propertyName]);
print($phpObject["id"]);
Run Code Online (Sandbox Code Playgroud)
但以上都没有工作 - 我肯定有明显的理由,但我不是PHP专家,我很难说出这个电话.请帮帮我.
在.NET 4.0中,IO.Path.GetFileName对于url来说,它的功能是什么?
如何从mySql表中复制选择的行并插入仅更改的键值.我可以在同一查询中进行选择和插入吗?
确切地说,我想要的是这样的:
表格列表,ID和ISO3是键:
[ID] [ISO3] [文本]
1,ENU,英文文本
2,ENU,英文
3中的另一文本,ENU,bla bla
1,JPN,与えられた枠
在插入之后,我希望我的表格看起来像这样:
1,ENU,英文文本
2,ENU,英文
3中的另一个文本,ENU,bla bla
1,JPN,与えられた枠
2,JPN,另一个英文文本
3,JPN,bla bla
我正在分析几个月前离开公司的一位同事所做的旧asp.net网站的问题.
问题是我们有几次表示两个用户会话混淆了,所以如果例如两个用户登录,则一个用户看到其他用户数据.因为它很少发生(一个月左右),很难弄清楚出了什么问题.
我现在已经通过他的代码进行身份验证,它是这样的:
Page_LoadMasterpage上,代码在mySql数据库中检查用户名/密码是否有效,未过期等,如果确定则返回唯一的用户IDHttpContext.Current.Session(Consts.CCookieName_LoginUrl) = Request.RawUrlFormsAuthentication.SetAuthCookie(userid, False)Context.Response.Redirect(secureurl, False)Page_Init安全区域的母版页中,用户标识由以下内容读取:userid = Context.User.Identity.Name 我有一些关于出了什么问题的想法,但是想在修改代码之前有一些输入,所以请任何人?
我的页面被编写并声明为XHTML 1.0 Strict.第一行是这样的:
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
Run Code Online (Sandbox Code Playgroud)
对于XHTML 1.0严格来说,我认为这是正确的,但IE11给出了这个警告:
HTML1406: Invalid tag start: "<?". Question marks should not start tags. File: default.aspx, Line: 1, Column: 2
Run Code Online (Sandbox Code Playgroud)
任何人都知道这是否是我应该担心的事情?
如果您在此链接中检查表单,您将看到必填字段class="required"在CSS中有一个*,在标记中有一个.
可以在*其中显示了标记完全用CSS添加具有此类的div?
用户可以在我的网页上更改语言,并希望根据当前语言更改fb like按钮的文本.我使用iframe方法并从fb中读取文档,但这不起作用:
<iframe
src='http://www.facebook.com/plugins/like.php?locale=en-US&href=http%3A%2F%2Fwww.example.com&layout=button_count&show_faces=false&width=80&action=recommend&colorscheme=light&height=10'
scrolling='no' frameborder='0'
style='border:none; overflow:hidden;
width:80px; height:80px;'
allowTransparency='true'></iframe>
Run Code Online (Sandbox Code Playgroud)
我在上面的src中设置了html lang ='en-US'和locale = en-US,但仍然以我的windows语言环境语言显示文本.
我究竟做错了什么?
我正在尝试为输入定义自己的无效错误消息type='email'.
我使用下面的HTML.问题是,在提交输入时,如果输入值有效,我会收到自定义错误消息EVEN.
<input name="resp_mail" required="required" onchange="try{setCustomValidity(' ')}catch(e){}" onkeypress="try{setCustomValidity(' ')}catch(e){}" oninvalid="setCustomValidity('Custom error message')" type="email" placeholder="Enter mail" />
Run Code Online (Sandbox Code Playgroud)
也看到这个小提琴