Bonjour à tous,
je suis en train de transformer un fichier xml en sql avec des expressions régulières en php.
mon fichier sql se trouve composé de lignes sous cette forme:
insert into ouvrage (annee, langue, titre, support, titre2, auteur) values(' 1995 ','espagnol',' ¡ Venga, vamos 1! ','CD ROM ',' / Ana Gainza', 'Gainza , Ana');
seulement j'ai des lignes qui n'ont pas d'auteur et je me retrouve avec :
Insert into ouvrage (annee, langue, titre, support, titre2, auteur) values(' 1996 ','français','L''acte de vente ','CD ROM',' / Université Blaise Pascal, Clermont 2');
donc avec un champs de moins.
Comment faire pour compter les ',' dans chaque ligne et si il m'en manque rajouter ,'' à la fin de la ligne?
j'ai bien essayé des choses comme ca :
mais sans succès...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $contents = ereg_replace('(values[(|)\'[:space:]]*)(([[:punct:]]|[[:alnum:]]|[[:space:]])*)(\',\')(([[:punct:]]|[[:alnum:]]|[[:space:]])*)(\',\') (([[:punct:]]|[[:alnum:]]|[[:space:]])*)(\',\')(([[:punct:]]|[[:alnum:]]|[[:space:]])*) (\',\')(([[:punct:]]|[[:alnum:]]|[[:space:]])*)([(|);]*)','\\0\\1\\2\\3\\4\\5\\6\\7\\8\\9,\'\');',$contents);
merci d'avance.
Partager