chaîne de test:virgules preg_split pas à l'intérieur entre parenthèses
Organic whole wheat bread, Monterey Jack Cheese (milk, cheese culture, salt), Hormel Natural Ham (salt, turbinado sugar, lactic acid (not from milk)
sortie souhaitée:
Array (
[0] => Organic whole wheat bread
[1] => Monterey Jack Cheese
[2] => Hormel Natural Ham
)
Cela ne me dérange pas si les sous-ingrédients apparaissent avec l'élément d'origine (par exemple, « fromage Monterey Jack (lait, culture du fromage, sel) ", je ne veux pas les utiliser seuls parce qu'ils ne sont pas des ingrédients ajoutés.
J'ai trouvé quelques autres questions ici que j'ai essayé d'appliquer à mon problème, mais je n'ai jamais eu la sortie attendue.
Oh, et dans le cas où preg_split n'est pas centré sur PHP, j'utilise PHP.
Merci d'avance!
Code: $ ingredients = exploser (',', preg_replace ('/ \ s * \ ([^()] + \) /', '', $ list)); Voici la sortie que j'obtiens: Array ([0] => Pain de blé entier biologique [1] => Monterey Jack Cheese [2] => Jambon naturel Hormel (sel [3] => sucre turbiné [4] => acide lactique) Il est seulement remplacer le premier. – Stephane
preg_replace_all n'existe pas. vous suggérez que j'utilise preg_match_all? preg_replace devrait remplacer tous les matches que je suis pourquoi je confus. – Stephane
double-parens étaient le problème Merci et bonne année. – Stephane