Pagina 1 din 1

Ajutor regex

Scris: Mar Aug 14, 2018 11:34 pm
de alinmanea
Salutare,

Se da urmatorul cod html dintr-o sursa a unui site:

Cod: Selectaţi tot

<ul class="sizeSelect dropdown-menu" id="sUM1970">
                <li data-sku="UM1970/S" class="sizeSelectItem ">

                        <a onclick="setDropdownText('UM1970/S', 'UM1970'); "><span>Small Chest 35-37&quot;</span> <span class="stockStatusMessage"> </span></a>
                </li>
                <li data-sku="UM1970/M" class="sizeSelectItem ">

                        <a onclick="setDropdownText('UM1970/M', 'UM1970'); "><span>Medium Chest 38-40&quot;</span> <span class="stockStatusMessage"> Low Stock</span></a>
                </li>
                <li data-sku="UM1970/L" class="sizeSelectItem disabled">

L Sold Out                </li>
                <li data-sku="UM1970/XL" class="sizeSelectItem disabled">

XL Sold Out                </li>
        </ul>


Vreau sa preiau marimile din acest cod.
Eu am reusit sa preiau marimile S, M, L, XL din codul <li data-sku="UM1970/M" cu functia asta:

Cod: Selectaţi tot

function getSizes($html, $sku){
      if ( preg_match_all("/<li.*data-sku=\"".$sku."\/(.*)\".*/Usi", $html, $rez) ) {
         return $rez[1];
      } return array();
   }

Dar problema este ca le preia pe toate iar unele din au un disabled, cele care au disabled inseamna ca nu mai sunt in stoc si nu vreau sa le preiau si pe acestea.
As vrea sa preiau ce se afla intre span (Medium Chest 38-40&quot;) din codul asta <a onclick="setDropdownText('UM1970/M', 'UM1970'); "><span>Medium Chest 38-40&quot;</span> dar sa preiau doar Medium, fara Chest 38-40&quot; iar cele care au disabled in <li> sa nu le preiau.
Sper ca am explicat destul de bine.
Ma poate ajuta cineva?

Re: Ajutor regex

Scris: Vin Aug 17, 2018 1:29 pm
de alinmanea
Nu ma poate ajuta nimeni?

Re: Ajutor regex

Scris: Sâm Aug 18, 2018 10:36 am
de nevvermind
a) nu mai ciordi de pe alte site-uri. nu-i frumos.
b) nu mai folosi regex. foloseste un DOM parser: https://github.com/paquettg/php-html-parser

Re: Ajutor regex

Scris: Mar Aug 28, 2018 7:58 pm
de ViezuREX
a) Nevermind are dreptate
b) Poti incerca XPath http://php.net/manual/ro/simplexmlelement.xpath.php