Bonjour,

j'insère des smileys dans mon chat et je me demandais si il étais possible d'utiliser notepad++ en style colonne, parce que sinon, je vais me retrouver avec une page de 2Km Smiley lol
mettre le "$in=array" à coté du $out=array" enfin si c'est possible Smiley biggrin

voici le code

function smiley($smiley)
		{
		$in=array(
           ":coucou:", 
           ":bebert:",
		   ":bisous:",
		   ":cafe:",
		   ":rire:",
		   ":lesite:",
		   ":colere:",
		   ":fache:",
		   ":noelohoh:",
		   ":mdr:",
		   ":clinoeil:",
		   ":calin:",
		   ":crise:",
		   ":amis:",
		   ":sermain:",	   
           );

		$out=array(
                   '<img src="smiley/coucou.gif" alt="" />',
                   '<img src="smiley/bebert.gif" alt="" />',
		   '<img src="smiley/bisous.gif" alt="" />',
		   '<img src="smiley/cafe.gif" alt="" />',
		   '<img src="smiley/rire.gif" alt="" />',
		   '<img src="smiley/lesite.gif" alt="" />',
		   '<img src="smiley/colere.gif" alt="" />',
		   '<img src="smiley/fache.gif" alt="" />',
		   '<img src="smiley/noelohoh.gif" alt="" />',
		   '<img src="smiley/mdr.gif" alt="" />',
		   '<img src="smiley/clinoeil.gif" alt="" />',
		   '<img src="smiley/calin.gif" alt="" />',
		   '<img src="smiley/crise.gif" alt="" />',
		   '<img src="smiley/amis.gif" alt="" />',
		   '<img src="smiley/sermain.gif" alt="" />',   
		   );
		return str_replace($in,$out,$smiley); 
		
		}


je dois en rajouter encore pas mal (car j'adore ces bébêtes ),donc la liste risque d’être longue.
Merci.
Modifié par ricem (23 Feb 2018 - 09:41)
Administrateur
Une meilleure idée serait de passer à un éditeur de code source plus au goût du jour, et doté de ce mode colonne ou de fonctions d'édition rapides avec curseurs multiples, comme Atom, SublimeText ou Visual Studio Code...
Modérateur
Si je comprends bien, si tu as 10 0000 00000 00000 .... fichiers dans le dossier smiley, tu vas recopier 10 0000 00000 00000 .... fois la même chose....

DRY and KISS forever !

regarde ces fonctions :
- dir()
- strrpos() (pour shooter l'extension du fichier)
- substr()
merci dew,
aurais-tu un petit tuto de la fonction stp Smiley smile

et niuxe,
un petit exemple si tu peux Smiley smile

Merci à vous
Bonjour.

Il est possible avec Notepad++ d'avoir plusieurs vues d'une page... et de les afficher les unes à côté des autres.

Smiley smile
Modérateur
ricem a écrit :
...
et niuxe,
un petit exemple si tu peux Smiley smile
...


Je te laisse faire la suite :

<?php 
    $path = 'images/';
    $in = [];
    $out = [];
    $files = scandir($path);
    foreach ($files as $file) {
        if($file !== "." && $file !== '..'){
            $name = substr($file, 0, strrpos($file, '.'));
            $in[] = sprintf(':%s:', $name);
            $out[] = sprintf('<img src="%s" alt="%s">', $path.'/'.$file, $name);
        }
    }

    print_r($in);
    echo '<hr>';
    print_r($out);
?>


Au passage, glob() est aussi une fonction intéressante qui peut t'être utile.

@pchlj : C'est juste une question de point de vue : Je préfère utiliser le natif sans les expressions régulières. Pourquoi ? par souci de performance.
Modifié par niuxe (21 Feb 2018 - 20:57)
Bonjour à tous,
Du coup, j’ai trouvé un code qui me convenait bien, ça évite le "array" et du coup, je peux même mettre mon "bbcode", je l'ai adapté à ma convenance .

Je vous laisse le code et attend vos retour, voir ce que vous en pensez.

<?php   
	
	function texte($texte)
	{
	// les BBcodes
	$texte = preg_replace('#\[b\](.+)\[/b\]#isU', '<b>$1</b>', $texte); // texte gras
    $texte = preg_replace('#\[i\](.+)\[/i\]#isU', '<i>$1</i>', $texte); // texte italique
	$texte = preg_replace('#\[u\](.*)\[/u\]#isU', '<span style="text-decoration:underline;">$1</span>', $texte); // texte souligné
	$texte = preg_replace('#\[s\](.*)\[/s\]#isU', '<span style="text-decoration:line-through;">$1</span>', $texte); // texte barré
    $texte = preg_replace('#\[color=(red|green|blue|yellow|purple|olive)\](.+)\[/color\]#isU', '<span style="color:$1">$2</span>', $texte); // texte couleur
    $texte = preg_replace('#http://[a-z0-9._/-]+#i', '<a class="liennormaux" href="$0">$0</a>', $texte); // lien adresse cliquable 
	$texte = preg_replace('#\[img\](.*)\[/img\]#isU', '<img src="$1" alt="Image" />', $texte); // insertion d'image
	$texte = preg_replace('#\[left\](.*)\[/left\]#isU', '<span style="text-align:left;">$1</span>', $texte); // écris à gauche
	$texte = preg_replace('#\[center\](.*)\[/center\]#isU', '<span style="text-align:center;">$1</span>', $texte); // écris au milieu
	$texte = preg_replace('#\[right\](.*)\[/right\]#isU', '<span style="text-align:right;">$1</span>', $texte); // écris à droite
	
	
	// Les smileys
    $texte = str_replace(':coucou:', '<img src="smiley/coucou.gif"/>', $texte);
    $texte = str_replace(':bebert:', '<img src="smiley/bebert.gif"/>', $texte);
    $texte = str_replace(':bisous:', '<img src="smiley/bisous.gif"/>', $texte);
    $texte = str_replace(':calin:', '<img src="smiley/calin.gif"/>', $texte);
	$texte = str_replace(':amis:', '<img src="smiley/amis.gif"/>', $texte);    
	$texte = str_replace(':sermain:', '<img src="smiley/sermain.gif"/>', $texte); 
	$texte = str_replace(':pari:', '<img src="smiley/pari.gif"/>', $texte);
	$texte = str_replace(':tapenlair:', '<img src="smiley/tapenlair.gif"/>', $texte);
	$texte = str_replace(':parler:', '<img src="smiley/parler.gif"/>', $texte);
	$texte = str_replace(':claque:', '<img src="smiley/claque.gif"/>', $texte);
	$texte = str_replace(':consoler:', '<img src="smiley/consoler.gif"/>', $texte);
	$texte = str_replace(':rire:', '<img src="smiley/rire.gif"/>', $texte);
	$texte = str_replace(':mdr:', '<img src="smiley/mdr.gif"/>', $texte);
	$texte = str_replace(':moque:', '<img src="smiley/moque.gif"/>', $texte);
	$texte = str_replace(':cafe:', '<img src="smiley/cafe.gif"/>', $texte);
	$texte = str_replace(':clinoeil:', '<img src="smiley/clinoeil.gif"/>', $texte);
	$texte = str_replace(':colere:', '<img src="smiley/colere.gif"/>', $texte);
	$texte = str_replace(':fache:', '<img src="smiley/fache.gif"/>', $texte);
	$texte = str_replace(':crise:', '<img src="smiley/crise.gif"/>', $texte);
	$texte = str_replace(':pleure:', '<img src="smiley/pleure.gif"/>', $texte);
	$texte = str_replace(':bailler:', '<img src="smiley/bailler.gif"/>', $texte);
	$texte = str_replace(':mechant:', '<img src="smiley/mechant.gif"/>', $texte);
	$texte = str_replace(':honte:', '<img src="smiley/honte.gif"/>', $texte);
	$texte = str_replace(':timide:', '<img src="smiley/timide.gif"/>', $texte);
	$texte = str_replace(':oui:', '<img src="smiley/oui.gif"/>', $texte);
	$texte = str_replace(':non:', '<img src="smiley/non.gif"/>', $texte);
	$texte = str_replace(':langue:', '<img src="smiley/langue.gif"/>', $texte);
	$texte = str_replace(':lesite:', '<img src="smiley/lesite.gif"/>', $texte);
	$texte = str_replace(':noelohoh:', '<img src="smiley/noelohoh.gif"/>', $texte);
	return $texte; 
	}		
		// Connexion à la base de données
		try	
		{
			$bdd = new PDO('mysql:host=localhost;dbname=monsite;charset=utf8', 'root', '');
			array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION);		
		}
		
		catch(Exception $e)
		{
				die('Erreur : '.$e->getMessage());
		}
				
		// Récupération des 18 derniers messages
		$reponse = $bdd->query('SELECT pseudo, message, DATE_FORMAT(date_post, \'%d/%m/%Y à %Hh%i :\') AS date_post FROM minichat ORDER BY ID DESC LIMIT 0, 16');

		// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
		while ($donnees = $reponse->fetch())
		{
			echo '<span class="date">Posté le ' .($donnees['date_post']). '</span> <div class="post"> <h4 class="pseudo">' . htmlspecialchars($donnees['pseudo']) . '</h4> <div class="msg"> 
			<p>' .texte(htmlspecialchars($donnees['message'])) . '</p> </div> </div>';
		}		
		
		$reponse->closeCursor();
			   	
				
		?>

Merci..!!

Edit: Je viens de rectifier le code des bbcodes, j'ai rajouté quelques fonction, on sais jamais, ça peux servir pour d'autres Smiley lol
Modifié par ricem (23 Feb 2018 - 13:45)
Meilleure solution