我正在尝试<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桌面工具来测试正则表达式.
我使用该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和需要删除的标签一直不同.
我搜索了几个小时的功能,以满足我的需求,但找不到任何有用的功能.
有任何想法吗?