Supponiamo di avere questo contenuto html e siamo disposti a ottenere Content1, Content2, .. con espressione regolare.(. *) Anziché (. *?)
<li>Content1</li>
<li>Content2</li>
<li>Content3</li>
<li>Content4</li>
Se uso la linea sotto
preg_match_all('/<li>(.*)<\/li>/', $text, $result);
sarò ottenere un array con una singola riga contenente:
Content1</li>
<li>Content2</li>
<li>Content3</li>
<li>Content4
E utilizzando questo codice:
preg_match_all('/<li>(.*?)<\/li>/', $text, $result);
otterrò un array con 4 righe contenenti Co ntent1, Content2, ...
Perché (. *) non funziona perché significa match any character zero or more times
grazie, collegamento molto utile – EBAG