相关疑难解决方法(0)

除了XHTML自包含标记之外,RegEx匹配开放标记

我需要匹配所有这些开始标记:

<p>
<a href="foo">
Run Code Online (Sandbox Code Playgroud)

但不是这些:

<br />
<hr class="foo" />
Run Code Online (Sandbox Code Playgroud)

我想出了这个,并希望确保我做对了.我只抓住了a-z.

<([a-z]+) *[^/]*?>
Run Code Online (Sandbox Code Playgroud)

我相信它说:

  • 找一个小于,然后
  • 然后,查找(并捕获)az一次或多次
  • 然后找到零个或多个空格
  • 找到任何字符零次或多次,贪婪/,然后
  • 找到一个大于

我有这个权利吗?更重要的是,你怎么看?

html regex xhtml

1323
推荐指数
36
解决办法
270万
查看次数

Django:将 HTML(包含表单)解析为字典

我在服务器端创建了一个 html 表单。

<form action="." method="POST">
 <input type="text" name="foo" value="bar">
 <textarea name="area">long text</textarea>
 <select name="your-choice">
  <option value="a" selected>A</option>
  <option value="b">B</option>
 </select>
</form>
Run Code Online (Sandbox Code Playgroud)

期望的结果:

{
 "foo": "bar",
 "area": "long text",
 "your-choice": "a",
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找的方法 ( parse_form()) 可以这样使用:

response = client.get('/foo/')

# response contains <form> ...</form>

data = parse_form(response.content)

data['my-input']='bar'

response = client.post('/foo/', data)
Run Code Online (Sandbox Code Playgroud)

如何parse_form()在Python中实现?

这与 Django 无关,尽管如此,Django 中有一个功能请求,但几年前被拒绝: https: //code.djangoproject.com/ticket/11797

更新

我围绕基本lxml答案编写了一个小型Python库:html_form_to_dict

python django html-parsing

0
推荐指数
1
解决办法
2989
查看次数

标签 统计

django ×1

html ×1

html-parsing ×1

python ×1

regex ×1

xhtml ×1