如何使用 PHP 函数 preg_match_all 匹配示例中 HTML 内容中的所有以下值并将其获取到数组中?
我需要这个数组:
属性[7]
属性[823]
多选属性[1663]
数字属性[1609]
像这样:
$shouldbe = array(attribute[7], attribute[823], multiSelectAttribute[1663], numericAttribute[1609]);
$html = '
<form>
<input type="hidden" name="this_should_not_be_matched" value="" /> <span id=
"syi-attribute-7" class="dropdown required" tabindex="0"><input type="hidden"
name="attribute[7]" value="" /> <span class="label">Test...</span></span>
</form>
<ul class="item-frame">
<li class="item" data-val="">Test...</li>
<li class="item" data-val="30">New</li>
<li class="item" data-val="31">Test2</li>
<li class="item" data-val="32">Test2</li>
</ul><span id="syi-attribute-82" class="dropdown" tabindex="0"><input type="hidden"
name="attribute[823]" value="" /> <span class="label">Test...</span></span>
<ul class="item-frame">
<li class="item" data-val="">Test...</li>
<li class="item" data-val="393">New</li>
<li class="item" data-val="394">New</li>
<li class="item" data-val="395">Test2</li>
</ul>
<div class="ms-opt">
<input id="syi-attribute-8878" type="checkbox" name="multiSelectAttribute[1663]"
value="8878" /> <label for="syi-attribute-8878">Test2</label>
</div>
<div class="ms-opt">
<input id="syi-attribute-8879" type="checkbox" name="multiSelectAttribute[1663]"
value="8879" /> <label for="syi-attribute-8879">Test3</label>
</div>
<form>
<input class="" type="text" name="numericAttribute[1609]" value="" min="0" max=
"99" />
</form>';
我知道我可以使用 preg_match_all 。但在我看来,不可能使用多个“针”来搜索 $html 干草堆,所以我有点卡住了。