相关疑难解决方法(0)

怎么做正则表达式模式与字符串中的任何地方都不匹配?

我正在尝试<input>使用此模式匹配类型"隐藏"字段:

/<input type="hidden" name="([^"]*?)" value="([^"]*?)" />/
Run Code Online (Sandbox Code Playgroud)

这是示例表单数据:

<input type="hidden" name="SaveRequired" value="False" /><input type="hidden" name="__VIEWSTATE1" value="1H4sIAAtzrkX7QfL5VEGj6nGi+nP" /><input type="hidden" name="__VIEWSTATE2" value="0351118MK" /><input type="hidden" name="__VIEWSTATE3" value="ZVVV91yjY" /><input type="hidden" name="__VIEWSTATE0" value="3" /><input type="hidden" name="__VIEWSTATE" value="" /><input type="hidden" name="__VIEWSTATE" value="" />
Run Code Online (Sandbox Code Playgroud)

但我不知道的type,name和value属性将始终出现在相同的顺序.如果type属性是最后一个,则匹配将失败,因为在我的模式中,它在开始时.

问题:
如何更改模式以使其匹配,无论<input>标签中属性的位置如何?

PS:顺便说一下,我正在使用基于Adobe Air的RegEx桌面工具来测试正则表达式.

html regex parsing

176
推荐指数
5
解决办法
5万
查看次数

PHP:strip_tags - 只删除某些标签(及其内容)?

我使用该strip_tags()功能,但我需要删除一些标签(及其所有内容).

例如 :

<div>
  <p class="test">
    Test A
  </p>
  <span>
    Test B
  </span>
  <div>
    Test C
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

让我们说,我需要摆脱P和SPAN标签,并且只保留:

<div>
  <div>
    Test C
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

strip_tags 期望作为第二个参数,你想要保持标签.

在这个特殊的例子中,我可以使用,striptags($html, "<div>"); 但我正在抓取的html和需要删除的标签一直不同.

我搜索了几个小时的功能,以满足我的需求,但找不到任何有用的功能.

有任何想法吗?

php strip-tags web-scraping

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

html ×1

parsing ×1

php ×1

regex ×1

strip-tags ×1

web-scraping ×1