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 :

récupérer une chaine de caractères et l'afficher avec paramètres particuliers


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut récupérer une chaine de caractères et l'afficher avec paramètres particuliers
    salut à tous

    mon souci:
    je cherche une chaine de caractère dans une bd où elles sont stockées sous la forme de textes imbriqués au sein de balises html du genre
    <span class="style_selection"><b><em>mon texte intéressant que je cherche à rechercher</span></b></em>
    ceci n'est qu'un exemple

    du coup si je me mets à rechercher le mot "je", il va me le trouver mais j'aimerai qu'il m'affiche au moins quelques mots de + mais pas tout(!) car quelques fois, dans ce champ je peux avoir des dizaines de lignes (c'est en fait le champ de récupération du conteu d'une nouvelle d'un blog)

    donc en gros ce que je souhaiterai, c'est avoir quelques mots avant et quelques mots après et obtenir un résultat du genre:
    ...intéressant que JE cherche à...

    mon code serait du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "SELECT post_content FROM dc_post where post_content like 'je'";
    $req = mysql_query($sql);
    while($data = mysql_fetch_assoc($req)){
         $chaine = $data['post_content'];
         echo $chaine;
    }
    1/ comment puis je faire?
    2/ ai-je un moyen de ne pas faire afficher les balises html qui entourrent ce texte? ça je pense que c'est moins sûr...

    merci de vos conseils

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pour la deux, tu as une fonction PHP : http://fr3.php.net/manual/fr/function.strip-tags.php

    pour le premier, un petit substring avec strpos devrait faire l'affaire
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    merci pour le strip_tags($chaine) que je ne connaissais pas

    par contre je n'arrive pas à obtenir le résultat voulu avec substring() combiné avec strpos()... auriez vous un exemple simple?

    merci beaucoup

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    avec strpos tu récupères la position de la sous chaine que tu recherche, avec substr ou substring, tu vas découper un bout autour de ta sous-chaîne, genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substr($champs_sans_tags, strpos($champ_sans_tags, $sous_chaine) - 30, strpos($champ_sans_tags, $sous_chaine) + strlen($sous_chaine) + 30);
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Membre expérimenté
    Avatar de Anduriel
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Février 2004
    Messages
    2 290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Février 2004
    Messages : 2 290
    Points : 1 500
    Points
    1 500
    Par défaut
    Si tu veux une sous chaine au pif:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $longueur_chaine = 20;
    $chaine = '...'.substr($chaine_initiale, rand(0, strlen($chaine_initiale - $longueur_chaine)), $longueur_chaine).'...';
    Par contre ça coupe les mots...

  6. #6
    Membre averti Avatar de mussara
    Inscrit en
    Novembre 2004
    Messages
    442
    Détails du profil
    Informations personnelles :
    Âge : 56

    Informations forums :
    Inscription : Novembre 2004
    Messages : 442
    Points : 348
    Points
    348
    Par défaut
    merci beaucoup poour vos aides repectives

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Récupérer une chaine de caractères
    Par lucke34 dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2009, 15h19
  2. [RegEx] Récupérer une chaine de caractéres par strpos
    Par bdptaki dans le forum Langage
    Réponses: 11
    Dernier message: 21/04/2009, 11h43
  3. récupérer une chaine telle qu'elle est affichée
    Par canibool dans le forum Débuter
    Réponses: 20
    Dernier message: 24/09/2008, 15h43
  4. Réponses: 14
    Dernier message: 05/05/2008, 15h35
  5. Récupérer une chaine de caractère dans une page
    Par BrunS dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2005, 14h28

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