J'ai un bloc HTML comme celui-ciphp, obtenir entre les balises html, regex
<option value="berkshire">Berkshire
<option value="reading">Reading</option></optgroup>
<option value="buckinghamshire">Buckinghamshire
<option value="milton-keynes">Milton Keynes</option></optgroup>
<option value="east-sussex">East Sussex<option value="brighton">Brighton</option> </optgroup>
Et je dois extraire la valeur et le nom (par exemple, valeur = berkshire, name = Berkshire
Jusqu'à présent, je « ai essayé deux méthodes: 1.
function get_between($content,$start,$end){ $r = explode($start, $content); if (isset($r[1])){ $r = explode($end, $r[1]); return $r[0]; } return ''; } $value = get_between($htmlContent, 'value="', '">'); $name = get_between($htmlContent, "$value\">", '');
le problème est qu'il ne reçoit que la première valeur de nom (berkshire et Berkshire) Si je fais $ r [1] dymanic et réglez $ r. [2], $ r [4], etc. avec while ou foreach je reçois seulement la valeur et le nom n'est plus retourné pour certaines raisons que je ne comprends pas.
2.Regex J'ai essayé d'extraire au moins la "valeur" mais je n'ai pas pu obtenir la regex correcte donc pour le "nom" je n'avais même pas de point de départ.
$pattern = "//"; preg_match_all($pattern,$htmlContent, $matches); print_r($matches);
Toute aide serait appréciée.