IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Formuler > "tiret chiffre tiret"


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut Formuler > "tiret chiffre tiret"
    Bonjour,
    Après avoir bosser toute l'après midi sur le traitement d un motif voila les difficultés que je n'arrive pas a surmonter.
    Je pense que les spécialiste n auront pas de mal a en venir a bout.
    Ceci s intégre dans un projet de nettoyage des titres de morceaux de musique.

    Difficulté n°1:
    Supprimer ce type de motif "- chiffre -" par exemple je veux que le titre:
    bob sinclar feat. steve edwards - 103 - world hold on (david guetta)
    devienne
    bob sinclar feat. steve edwards - world hold on (david guetta)
    Pour cela je voudrai détecté par une expression régulière le motif "- chiffre -".
    EDIT: il faudrait que ca détecte aussi:
    -103- ou - 103- enfin en clair un tiret un ou des séparateurs en espace, le chiffre et idem pour la fin


    Je mettrai a la suite sur ce message d autre difficulté si j'en rencontre.
    Si vous avez d autre idée pour le nettoyage de titre je suis prenneur.
    Pour voir la liste des fonctions que fais déja mon script c'est ici:
    http://u115php.over-blog.fr voir titre clean.

    Merci!

    Sinon j'ai trouvé ce lien pour ceux qui ne connaissent pas
    http://www.annuaire-info.com/cgi-bin...n-reguliere.pl
    dommage que ca fasse pas l inverse !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    La traduction doit être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $out = preg_replace('/-\s*[[:digit:]]+\s*-/', '', $in);
    (\s : tous les caractères de type espace).

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Coucou!
    ALors je test sur le lien que j'ai donné ci desssus résultat:

    Modèle testé : /-\s*[[:digit:]]\s*-/

    Chaîne 1 : -1-
    Résultat : faux

    Chaîne 2 : -152-
    Résultat : faux

    Chaîne 3 : - 15 -
    Résultat : faux

    Malheureusement ca n'a pas l'air de marcher!

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    J'avais oublié un plus (j'ai corrigé en éditant mon message). Toutefois, je n'ai rien contre l'utilisation d'outils mais encore faut-il savoir comment ils fonctionnent : je doute qu'il accepte les délimiteurs bien qu'étant, semble-t-il, écrit en Perl. Autant rester en PHP pour tester donc.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 59
    Points : 45
    Points
    45
    Par défaut
    Ok je me méfirait de cet outil, j'ai donc testé avec mon code résultat:

    Avant traitement: - 101 - iio - Extended -1025- at the end (midnité à ê extended mix)
    Après traitement: DEBUT/Iio - Extd At The End (Midnite A E Extd Mix)/FIN

    En clair ca marche !
    Merci beaucoup !
    Je sens que pas mal de webradio vont avoir des titres bien nommés grace a tout ca

    Pour la petite histoire tiens je viens de tester l expression correcte avec l outil et ca ne marche pas alors que l'expression est bonne !

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo