Nasıl preg_match ile belirli verileri ayıklamak?

1 Cevap php

Ben html bir bütün yükü (sadece ilgili verileri aşağı kesilmiş oldum) değerleri ayıklamak için arıyorum, orada unsurları 'seçeneğini birden fazla vardır ve sadece adını' aMembers maçları 'isim' element olanlara ayıklamak istiyor '. Yani almak istiyorum sonuç değerleri nasıl preg_match ile bunu başarabilirsiniz (aşağıya bakınız) 5,10,25 ve 30 vardır?

    <DIV id="searchM" class="search"><select name="aMembers" id="aMembers" tabIndex="2">
    <option selected="selected" value="">Data 3</option>
    <option value="5">A name</option>
    <option value="10">Another name</option>
</select>
</DIV>
<DIV id="searchM" class="search"><select name="bMembers" id="bMembers" tabIndex="2">
    <option selected="selected" value="">Data 2</option>
    <option value="15">A name</option>
    <option value="20">Another name</option>
</select>
</DIV>
<DIV id="searchM" class="search"><select name="aMembers" id="Members" tabIndex="2">
    <option selected="selected" value="">Data 1</option>
    <option value="25">A name</option>
    <option value="30">Another name</option>
</select>
</DIV>

1 Cevap

Ben 2 adımlar bu görevi bölmek için denemek istiyorum:

  1. gerekli etiketleri eşleştirme
  2. onları gerekli olan değerleri eşleşen

Bu şekilde daha kolay olacaktır:

$str = 'your HTML code here...';
preg_match_all('|<select name="aMembers".*?</select>|ms', $str, $matches);
foreach ($matches[0] as $select) {
    preg_match_all('|value="(.+?)"|', $select, $matches2);
    var_dump($matches2[1]);
}