[RESOLU]aide pour modifier un code php

bg62bg62 Member
avril 2014 modifié dans Entraide
bonjour;)
Voulant me servir de 'plxResponsiveSlidesJs.1.0'
j'essaie de la mettre en conformité avec le W3C, ainsi qu'avec ce que les moteurs vont y trouver; j'ai bien trouvé la ligne de code à modifier, mais je coince sur le paramétrage du 'texte' généré par la 'fonction' " title="'.plxUtils::strCheck($slide) "
si une bonne âme pouvait m'aider à faire avancer le chimilimiblik :)
le sujet est ici :
http://forum.pluxml.org/viewtopic.php?pid=38656#p38656
merci, @+
bg

Réponses

  • bonjour
    bg62 a écrit:
    remplacer ( ligne 62 ), par :
    code
    ça passe au W3C
    qu'en pensez-vous ?
    ok
    l'attribut alt est obligatoire, mais pas nécessairement rempli. il est mieux vide pour des images décoratives par exemple où il ne faut pas mettre de texte alternatif.
    Edit : maintenant, pour ajouter la balise 'title' sur le lien, j'en suis ici :
    MAIS les deux codes inclus avec "title" me donnent comme balises" nom-de-mon-image.jpg " = comment réussir à n'avoir que "nom de mon image" , sans les '-' ou '_' et sans l'extension".jpg" (ou autre ... ) ???

    ça correspond à ton besoin?:
    [== PHP ==]
    # remplacer plxUtils::strCheck($slide['title']) par
    pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME)
    
  • bg62bg62 Member
    bonjour ;)
    merci c'est 'presque' que cela !
    les deux codes inclus avec "title" me donnent comme balises" nom-de-mon-image.jpg " = comment réussir à n'avoir que "nom de mon image" , sans les '-' ou '_' et sans l'extension".jpg" (ou autre ... )
    La correction que tu viens de me donner supprime bien en effet l'extension du fichier:
    " nom-de_mon-image.jpg " devient bien " nom-de_mon-image "
    ce que je cherche également c'est de supprimer les tirets ( du6 ou du8), pour n'avoir plus finalement que :
    " nom de mon image "
    as-tu cette solution ?
    @+
  • hello,
    ce que tu cherches n'est pas de supprimer les tirets mais à remplacer les tirets par des espaces.
    Donc en faisant une recherche GG "php remplacer caractères",
    tu trouves : http://www.php.net/manual/fr/function.str-replace.php

    Enjoy :cool:
  • bg62bg62 Member
    avril 2014 modifié
    danielsan a écrit:
    hello,
    ce que tu cherches n'est pas de supprimer les tirets mais à remplacer les tirets par des espaces.
    Donc en faisant une recherche GG "php remplacer caractères",
    tu trouves : http://www.php.net/manual/fr/function.str-replace.php

    Enjoy :cool:
    exactement, je me suis un peu mal exprimé ;)
    c'est bien cela, mais donc comment incorporer cette fonction dans 'ce' code ?
    j'ai aussi trouvé ceci , en français :
    http://creer-un-site.fr/fonction-str-replace-comment-remplacer-un-mot-par-un-autre-en-php-77.php
    mais, moi et le codage ...
    @+
  • as-tu au moins lu la page que tu as trouvée ? car il n'y a pas plus simple ...
  • bg62bg62 Member
    danielsan a écrit:
    as-tu au moins lu la page que tu as trouvée ? car il n'y a pas plus simple ...
    ben oui ;)
    mais : codage en php + code de PluXml = moi je ne sais pas faire ...
    il y a des 'billes' de partout, j'en suis une dans ce domaine, donc si tu peux zieuter et le plugin et le codage, ce searait bien de me donner ( oui ... je sais ! ) le code exact pour modifier, surtout aussi que cela profitera et à son auteur et à tous ;)
    @mitiés
    bg
  • soit la phrase :"Maman fait à manger dans la cuisine".
    Je veux dans cette phrase changer le mot cuisine par salle de bain.
    [== PHP ==]
    <?php
    $description= 'Maman fait à manger dans la cuisine';
    $description = str_replace('cuisine' ,'salle de bain ',$description);
    echo $description;
    ?>
    

    Le résultat obtenue donne donc:
    Maman fait à manger dans la salle de bain

    maintenant :

    soit le nom de mon image : "nom-de_mon-image"
    je veux dans ce nom changer le tiret "-" par un espace " "

    ...

    dis-moi ce que tu ne comprends pas ?
  • bg62bg62 Member
    danielsan a écrit:
    soit la phrase :"Maman fait à manger dans la cuisine".
    Je veux dans cette phrase changer le mot cuisine par salle de bain.



    dis-moi ce que tu ne comprends pas ?
    :) tout et rien ...
    que mettre et où dans le code du plugin pour arriver à ce résultat , supprimer les '-' et les '_'
    les explications données, j'arrive quand même à les comprendre, mais pas à les adapter au code du plugin ...
    ou le faire en insérant ( quoi en plus ? ) dans cette ligne :
    
    [== PHP ==]
    					echo '<li><a href="'.plxUtils::strCheck($onclick).'" title="'.plxUtils::strCheck($slide['title']).'"><img src="'.plxUtils::strCheck($slide['url']).'" title="'.plxUtils::strCheck($slide['title']).'" alt="'.strip_tags($slide['description']).'" /><p class="caption">'.strip_tags($slide['description'], '<strong><b><em><br>')."</p></a></li>\n";
    
    ou faut-il mettre quelque chose ( et quoi et où aussi ) ailleurs ?
  • adapte déjà ce code avec tes tirets "-" et tes espaces
    [== PHP ==]
    <?php
    $description= 'Maman fait à manger dans la cuisine';
    $description = str_replace('cuisine' ,'salle de bain ',$description);
    echo $description;
    ?>
    
  • bg62bg62 Member
    danielsan a écrit:
    adapte déjà ce code avec tes tirets "-" et tes espaces
    [== PHP ==]
    <?php
    $description= 'Maman fait à manger dans la cuisine';
    $description = str_replace('cuisine' ,'salle de bain ',$description);
    echo $description;
    ?>
    
    style ceci tu veux dire :
    [== PHP ==]
    <?php
    $description= 'Maman-fait_à-manger-dans_la-cuisine';
    $description = str_replace('-' ,' ',$description);
    $description = str_replace('_' ,' ',$description);
    echo $description;
    ?>
    
    masi pour le 'codage' du plugin ... ???
    @+
  • KyodevKyodev Member
    avril 2014 modifié
    hello

    y'a pas mieux que php.net pour la doc php
    [== PHP==]
    #exemple:
    $img = "/pluxml/mon-image_01.jpg";
    #au lieu de plxUtils::strCheck($slide['title'])
    #
    #exemples en décomposant
    $resultat1 = pathinfo($img, PATHINFO_FILENAME);
    echo "\$resultat1: $resultat1".'<br>';
    	// affiche mon-image_01
    
    $resultat2 = str_replace('-', ' ', $resultat1);
    echo "\$resultat2: $resultat2".'<br>';
    	// affiche  mon image_01
    
    $resultat3 = str_replace('_', ' ', $resultat2);
    echo "\$resultat3: $resultat3".'<br>';
    	// affiche mon image 01
    
    #str_replace fonctionne avec des tablleaux, donc on peut indiquer de remplacer - ET _ avec un espace:
    $resultat4 = str_replace(array("-","_"), ' ', $resultat1);
    echo "\$resultat4: $resultat4".'<br>';
    
    #et pour aller droit au but:
    $resultat = str_replace(array("-","_"), ' ', pathinfo($img, PATHINFO_FILENAME));
    echo "\$resultat: $resultat".'<br>';
    
    voilà si tu veux t'amuser à voir les détails, tu peux copier ces lignes dans un fichier test.php et le lancer

    pour ton problème, tu pourrais préparer avec:
    [== PHP ==]
    $joliNomFichier = str_replace(array("-","_"), ' ', pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME));
    
    et utiliser $joliNomFichier je sais plus où

    PS: <br />, dans ton code, c'est mieux que <br>, sauf si html4
  • bg62bg62 Member
    avril 2014 modifié
    merci :)
    c'est clair à suivre et à comprendre, mais quand je dis que je suis une 'bille', j'en suis une ...
    tu as réussi à m'embrouiller finalement pour le changement du code, " et utiliser $joliNomFichier je sais plus où ", hé ben là ... du coup je coince ^^
    je viens d'essayer ceci :
    [== PHP ==]
    echo '<li><a href="'.plxUtils::strCheck($onclick).'" title="'.pathinfo(plxUtils::strCheck($slide = str_replace(array("-","_"), ' ', pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME));['title']), PATHINFO_FILENAME).'">
    <img src="'.plxUtils::strCheck($slide['url']).'" title="'.pathinfo(plxUtils::strCheck($slide = str_replace(array("-","_"), ' ', pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME));['title']), PATHINFO_FILENAME).'" alt="'.strip_tags($slide['description']).'" />
    <p class="caption">'.strip_tags($slide['description'], '<strong><b><em><br>')."</p></a></li>\n";
    
    et bien sûr, rien ne fonctionne ...
    là où j'en suis arrivé étant :
    [== PHP ==]
    echo '<li><a href="'.plxUtils::strCheck($onclick).'" title="'.pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME).'"><img src="'.plxUtils::strCheck($slide['url']).'" title="'.pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME).'" alt="'.strip_tags($slide['description']).'" /><p class="caption">'.strip_tags($slide['description'], '<strong><b><em><br>')."</p></a></li>\n";
    
    
    @+
  • @Kyodev (même si tu as supprimé le début de ton message :D ):
    j'ai une approche différente de la tienne, je préfère apprendre à quelqu'un à être autonome plutôt que de refiler du tout cuit.
    cela fait 7 ans que bg62 est sur PluXml, mais il a décidé, un point c'est tout, qu'il ne mettrait pas le nez dans le PHP ...
    et qu'il compterait sur les autres pour faire les choses à sa place.

    Selon moi ce n'est ni rendre service, ni gagner du temps ...
    ce n'est pas par méchanceté, mais là on a une occasion de lui apprendre un truc :P

    En tout cas je te remercie d'avoir détaillé de manière pédagogique la fonction str_replace (on y serait arrivé)
    mais c'est pas fini : on le met de code dans le plugin ? :D
  • bg62bg62 Member
    avril 2014 modifié
    danielsan a écrit:
    @Kyodev (même si tu as supprimé le début de ton message :D ):
    j'ai une approche différente de la tienne, je préfère apprendre à quelqu'un à être autonome plutôt que de refiler du tout cuit.
    cela fait 7 ans que bg62 est sur PluXml, mais il a décidé, un point c'est tout, qu'il ne mettrait pas le nez dans le PHP ...
    et qu'il compterait sur les autres pour faire les choses à sa place.

    Selon moi ce n'est ni rendre service, ni gagner du temps ...
    ce n'est pas par méchanceté, mais là on a une occasion de lui apprendre un truc :P

    En tout cas je te remercie d'avoir détaillé de manière pédagogique la fonction str_replace (on y serait arrivé)
    mais c'est pas fini : on le met de code dans le plugin ? :D
    + 100 :)
    pour apprendre "un" truc à la fois là oui :)
    et comme tu dis : ' on met le code dans le plugin ', quel code et où ?
    @+

    ps : je suis bien loin d'avoir les capacités pour coder ou programmer, j'arrive à faire certaines choses, donc là si je sais je peux aussi aider, mais tout faire, tout savoir et tout apprendre, non ...
    et ps2 : tout ce que je cherche c'est à rendre ce plugin tout à fait opérationnel et valide ( il n'est pas de moi, bien sûr ! )
  • @danielsan
    j'ai effacé, mais oui personnellement, au lieu d'ergoter 4 ou 5 posts pour ne pas faire avancer, vaut mieux ne pas polluer du tout et aller boire son apéro tranquille ou alors on AIDE, et c'est le but d'un forum
    mais ce n'est que mon avis
  • bg62bg62 Member
    @danielsan :
    Je trouvais que la graine ressemblais à des oreilles de lapin, c'est aussi simple que cela !
    correction :
    Je trouvais que la graine ressemblait à des oreilles de lapin, c'est aussi simple que cela !
    là je peux aider ... :)
    bon, passons, on continue la leçon alors, car le lapin, oui c'est bien surtout pour Pâques , mais là commence à se faire un peu tard ...
    @+
  • chacun sa conception de l'entraide.
    D'ailleurs bg62 a bien réussi tout seul à adapter la fonction str_replace ;)
  • bg62bg62 Member
    avril 2014 modifié
    danielsan a écrit:
    chacun sa conception de l'entraide.
    D'ailleurs bg62 a bien réussi tout seul à adapter la fonction str_replace ;)
    à adapter, oui peut-être mais pas encore à la placer précisément dans le code du plugin pour avoir le résultat espéré ...
  • KyodevKyodev Member
    avril 2014 modifié
    bg62 a écrit:
    tu as réussi à m'embrouiller finalement pour le changement du code
    désolé, c'était pas mon intention, seulement un peu de paresse de ma part, donc si je comprend tout:
    [== PHP==]
    # ces variables 'préparatoires' servent essentiellement à éviter des longueurs de lignes ultérieures excessives:
    $nomFichier =  pathinfo(plxUtils::strCheck($slide['title']), PATHINFO_FILENAME);
    $joliNomFichier = str_replace(array("-","_"), ' ',$nomFichier);
    echo '<li>'.
    		'<a href="'.plxUtils::strCheck($onclick).'" title="'.$nomFichier.'">'.
    			'<img src="'.plxUtils::strCheck($slide['url']).'" title="'.$joliNomFichier.'" alt="'.strip_tags($slide['description']).'" />'.
    		'</a>'.	//!\\ <a> ne peut contenir <p>, à vérifier si toujours le cas en html5
    		'<p class="caption">'.strip_tags($slide['description'], '<strong><b><em><br />').'</p>'.	//*\\ <br /> au lieu de <br>
    	"</li>\n";
    

    ps: ne surtout pas hésiter à indenter/scinder des lignes pour une meilleure compréhension/relecture, avec si besoin des variables intermédiaires.

    une mise en oeuvre: http://forum.pluxml.org/viewtopic.php?pid=38732#p38732
  • bg62bg62 Member
    ;)
    superbe, grands mercis
    j'ai édité le titre et mis en "RESOLU"
    @+
Connectez-vous ou Inscrivez-vous pour répondre.