Bonsoir,
Comment mettre un mot dans un champ à une position donnée.
Je veux mettre en position 30 le mot "coucou".
Merci d'avance.
Bonsoir,
Comment mettre un mot dans un champ à une position donnée.
Je veux mettre en position 30 le mot "coucou".
Merci d'avance.
Tu peux utiliser substr() pour avoir le bout avant et le bout apres puis rassembler les 3 morceaux.
Merci,
J'opte pour substr_replace et je fais donc
Sachant que j'ai 2 tableaux, un pour les mots, l'autre pour les longueurs :
J'ai fait le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $tableau_mots = ("OPERATION RENTREES", "OPR"); $tableau_longueurs = (21, 3);
Je me retrouve avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $libelle = ""; $i = 0; $j = 0; foreach($textes as $texte) { $libelle = substr_replace($libelle, $tableau_mot[$j], $i, $tableau_longueurs[$j]); $i = $i + $tableau_longueurs[$j]; $j++; }
et non
Code : Sélectionner tout - Visualiser dans une fenêtre à part OPERATION RENTREESOPR
Pourquoi pour le 2ème mot, il ne tient pas compte de la longueur du 1er texte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part OPERATION RENTREES OPR
Est-ce les espace qu'il n'aime pas ?
Quels espaces ? je ne vois pas d'espaces dans les mots du tableau $tableaux_mots... Peut-être devrais-tu les ajouter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $tableau_mots = ("OPERATION RENTREES ", "OPR ");
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.
Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]
substr_replace() ne bourre pas avec des espaces si tu cherches a ecrire plus loin que la taille de la chaine.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?php $tableau_mots = array("OPERATION RENTREES", "OPR"); $tableau_longueurs = array(21, 3); $libelle = ""; foreach($tableau_mots as $id=>$mot) { $libelle .= sprintf("%-" . $tableau_longueurs[$id] . "s",$mot); } echo $libelle; ?>
Partager