/** * Met à jour la valeur et l'URL d'un élément dans un tableau multidimensionnel * en utilisant une expression régulière pour la recherche. * * @paramarray $array Le tableau multidimensionnel à parcourir * @paramstring $searchTerm L'expression régulière à utiliser pour la recherche * @paramstring $newValue La nouvelle valeur à assigner à l'index 0 * @paramstring $newUrl La nouvelle URL à assigner à l'index 1 * @paramint $index L'index de l'élément à vérifier dans les sous-tableaux * @returnarray Le tableau mis à jour */functionng1UpdateArrayValueRegex($array, $searchRegex, $newValue, $newUrl, $index =0) {foreach ($array as $key => $subarray) {// Vérifie si le sous-tableau actuel contient des sous-tableauxif (is_array($subarray)) {// Parcours tous les éléments du sous-tableau actuel pour trouver une correspondance avec l'expression régulière $matched =false;foreach ($subarray as $subkey => $value) {// Vérifie si l'élément à l'index $index correspond à l'expression régulière $searchRegexif ($subkey == $index &&preg_match($searchRegex, $value)) { $matched =true;break; } }// Si une correspondance est trouvée, met à jour les valeurs pour l'index 0 et l'index 1if ($matched) { $array[$key][0] = $newValue; $array[$key][1] = $newUrl;// Sort de la boucle pour éviter de mettre à jour plusieurs occurrencesbreak; } else {// Si le sous-tableau actuel ne contient pas la valeur correspondant à l'expression régulière, appelle la fonction récursivement $array[$key] =ng1UpdateArrayValueRegex($subarray, $searchRegex, $newValue, $newUrl, $index); } } }// Retourne le tableau mis à jourreturn $array;}