NialaS
Messages postés11Date d'inscriptionjeudi 4 octobre 2007StatutMembreDernière intervention 6 mars 2008
-
1 mars 2008 à 10:18
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
2 mars 2008 à 11:38
Bonjour à toutes et à tous.
Je suis *très* paresseux... et je n'ai pas le courage de chercher seul...
soit :
$a = "CeciEstUnExemple;
je voudrais obtenir :
$b ="Ceci";
$c = "Est";
$d = "Un";
$e = "Exemple";
Si quelqu'un peut m'aider... Grand merci par avance !
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 1 mars 2008 à 11:01
Euh non, ça peut être autre chose, il suffit simplement que tu fasses un pattern qui inclue toutes les majuscules.
Quelque chose du genre split ou $array = preg_split('[A-Z]', $string);
Par contre la prochaine fois que tu te sens paresseux, prends des vitamines et cherche par toi-même, c'est efficace aussi ^^
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 1 mars 2008 à 11:03
Hello,
les délimiteurs ne sont pas ce que tu crois. Il faut te renseigner sur les expressions régulières.
Néanmoins, si je reste dans les expressions régulières comme le suggère Evangun, je pense que ce serait plus simple avec preg_match_all() :
<?php
$sString = 'CeciEstUnExemple';
preg_match_all('`([A-Z]+[^A-Z]*)`', $sString, $aWords);
print_r($aWords[0]);
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
NialaS
Messages postés11Date d'inscriptionjeudi 4 octobre 2007StatutMembreDernière intervention 6 mars 2008 2 mars 2008 à 07:13
$a = "C'Est";
Le contexte :
je dispose de dossiers contenant des fichier du style "FR_CEstUnFilm(JeanGabin2000).avi;
Je veux éviter de créer une base mySQL pour arriver à présenter correctement les informations titre-acteur-date. Donc je veux "découper" le nom du fichier avant de l'envoyer au navigateur.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 2 mars 2008 à 08:59
Hello,
t'es un lève-tôt toi le dimanche matin (à moins que la suisse ait un décalage horaire avec la France que je ne soupçonnais pas!).
Ca encore, c'est faisable avec des expressions régulières : d'abord tu insères les apostrophes (preg_replace) avec une PCRE du genre...
preg_replace("`([A-Z]{1})([A-Z]{1})`", '$1\'$2', $sChaine); (à tester hein, j'ai pas essayé)
puis tu découpes avec preg_match_all() en modifiant la PCRE d'hier : je découpe sur les majuscules OU sur une majuscules suivie d'une apostrophe suivie d'une majuscule, avec priorité à ce dernier motif.
Là, je ne te la sors pas parce que comme ça, à brûle pourpoint, je ne sais pas trop comment l'écrire, il faut tester.
Mais...tu comptes ajouter d'autres infos comme ça ? Et tu as déjà extrait la langue, l'acteur et la date...? Parce que sinon, tu gagnerais peut-être à changer de méthode : un fichier xml descriptif dans le dossier d'un film serait plus simple. Et tu pourrais alors facilement ajouter d'autres infos par la suite.
NialaS
Messages postés11Date d'inscriptionjeudi 4 octobre 2007StatutMembreDernière intervention 6 mars 2008 2 mars 2008 à 11:14
"tu gagnerais peut-être à changer de méthode"
Après avoir envoyé le message "matinal", je suis retourné au lit (:-)), un devoir m'y appelait. J'ai aussi pris le temps de réfléchir et je ne crois pas avoir adopter la bonne méthode.
Je vais utiliser ton aide dans un autre cas de figure (noms de fichier en anglais, donc pas de problème d'accentuation) et créer la table mySQL que je voulais éviter (problème de maintenance, galère...).
Je ne veux pas créer "un dossier par film" donc l'idée "xml" est écartée.
Encore une fois, sincèrement, merci pour ton aide et bravo pour ce site pro, géré par un pro (qui ne semble pas dormir souvent...)
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 2 mars 2008 à 11:38
Sans créer un dossier par film, il est très facile d'utiliser xml en lieu et place d'une bdd pour ça.
Je suis aussi partisan de l'allègement maximal de la bdd, quand c'est opportun.
Mais si tu as d'autres infos à aller chercher en bdd en rapport à un film, évidemment...autant tout mettre en base et tout récupérer d'un coup.