Je cherche un bon exemple d'utilisation d'expressions rationnelles en PHP pour «reverse engineering» d'une lettre type (avec un format connu, bien sûr) qui a été collée dans une boîte de texte multiligne et envoyée à un script pour traitement.Utiliser regex pour extraire des variables à partir d'une lettre type en texte brut?
Ainsi, par exemple, supposons ceci est l'entrée de texte simple d'origine (extrait d'un communiqué de presse USDA):
WASHINGTON, le 5 Avril 2010 - Nord Bison nord-américain Co-Op , un nouveau Rockford, ND, l'établissement rappelle environ 25 000 livres de têtes entières de boeuf contenant des langues qui peuvent ne pas avoir eu les amygdales complètement enlevés, ce qui est non conforme aux règlements qui exigent la suppression des amygdales des bovins de tous âges, Service de la sécurité des aliments et de l'inspection (FSIS) du Ministère de l'Agriculture des États-Unis a annoncé aujourd'hui.
Pour plus de clarté, les champs qui sont variables sont présentées ci-dessous:
[pr_city =] WASHINGTON, [pr_date =] 5 Avril, 2010 - [corp_name =] Nord Coopération américaine du bison, un [corp_city =] New Rockford, [corp_state =] ND, l'établissement rappelle environ [quantité =] 25.000 livres de [produit =] entiers têtes de boeuf contenant des langues qui peuvent ne pas avoir eu les amygdales complètement enlevé, ce qui est conforme aux règlements qui exigent [raison =] l'enlèvement des amygdales des bovins de tous les âges, Service de la sécurité des aliments et de l'inspection du ministère de l'Agriculture des États-Unis (FSIS) a annoncé aujourd'hui.
Comment pourrais-je extraire efficacement le contenu du
- pr_city
- pr_date
- corp_name
- corp_city
- corp_state
- quantité
- produit
- raison
champs de mon exemple?
Toute aide serait appréciée, merci.
Je ne sais pas ce que l'utilisateur passe dans la zone de texte multiligne, le texte tel quel ou le texte avec déjà les symboles [pr_city =], [pr_date =]? Je demande parce que l'entrée en texte clair contient une sorte de séparateurs parmi les champs (comme [pr_city =], [pr_date =], ...) ou chaque champ doit être d'une longueur fixe, sinon je ne voir comment une expression rationnelle ou toute autre chose pourrait être capable d'identifier les différentes parties du texte en clair. –
Je m'excuse si je n'étais pas clair - le premier bloc de texte serait l'ORIGINAL, et le deuxième bloc met en évidence les "variables". Merci – Yaaqov