Bonjour à tous,
Je suis en train de me créer une function mais je bloque.
J'ai un textarea dedans je met un texte et je voudrais qu'après chaque mot un "." s'y place, donc j'ai réussi.
Seul problème qui me faut absolument c'est qu'il ne mette pas de "." au dernier mot.
Est-ce-que quelqu'un serait comment faire ?
Cordialement,
Et si avant ton nl2br tu fais:
$stats = str_replace("\r\n","\n",$stats);
puis $stats = str_replace("\n",".",$stats);
et apres ton n2blr ?
Dans le texte ya bien des sauts de lignes? enfin on passe à la ligne chaque fois?
Bonjour, [code] var chaine = "ceci est un essai"; var tab = chaine.split(' '); // => tab = ["ceci", "est", "un", "essai"] var chaine2 ='' ; for(i=0;i<tab.length if chaine2 tab> chaine2 = "ceci. est. un. essai"
[/code]
Je sais pas si ça t'aide,
Bien cordialement
Antho</tab.length>
En faite, la question que je me pose, c'est le . doit-il être mis quand on récupère le contenu du textarea ou alors au fur et à mesure que l'utilisateur écrit dedans.
cordialement
Avec la première méthode substr ça fonctionne on va dire, faut juste que je modifie un peu ma fonction. Je vous retiens au courant.
Une autre question j'ai fais un tableau pour str_replace comme suit :
Tout ceci n'est qu'un exemple.
$in = array(
'PA',
'PO',
'Dommages Air',
'Dommages Feu',
'Dommages Terre',
'Dommages Eau',
'Dommages'
);
$out = array(
'PA.',
'PO.',
'Dommages Air.',
'Dommages Feu.',
'Dommages Terre.',
'Dommages Eau.',
'Dommages.'
);
$stats = str_replace($in, $out, $stats);
Et voici mon textaera :
X à X Dommages Air
X à X Dommages Feu
X à X Dommages Eau
X à X Dommages
Et quand je fais echo str_replace il m'affiche ceci :
X à X Dommages. Air.
X à X Dommages. Feu.
X à X Dommages. Eau.
X à X Dommages.
Il m'ajoute des points après dommages d'accord, mais pour les trois premier je voudrais qu'il n'en mette.
J'espère que vous auriez compris.
Cordialement,
Je regarde ça... en plus je viens de me rendre compte que dans mon post précedent je t'ai donné un code Js alors que tu voulais un code php.... heuresement que c le week end mdr
<?php
$in = array(
'PA',
'PO',
'Dommages Air',
'Dommages Feu',
'Dommages Terre',
'Dommages Eau',
);
$out = array(
'PA.',
'PO.',
'Dommages Air.',
'Dommages Feu.',
'Dommages Terre.',
'Dommages Eau.',
);
$stats = "X à X Dommages Air X à X Dommages Feu X à X Dommages Eau X à X Dommages ";
$stats = str_replace($in, $out, $stats);
$stats.=".";
echo $stats;
?>
LA sortie:
X à X Dommages Air. X à X Dommages Feu. X à X Dommages Eau. X à X Dommages.
Dans le tableau tu as oublié $in = 'Dommages' et out = 'Dommages.'
Car j'ai des caractéristiques en Dommages Terre mais aussi Dommages.
Du coup, ce que tu as fais me renvoi le même résultat que j'avais déjà.
edit : j'ai compris, tu as retiré Dommages du tableau et tu as rajouté un points au à la fin.
Non justement c'est pas comme ceci que je cherche.
Je l'ai mis à la fin le point. en parant du principe qu'on était à la fin de la chaîne de caractères.
Pour mieux t'aider , il faudrait la forme exacte du texte récupéré sur lequel travailler.
Y a-t-il des sauts de lignes?
est-ce une chaine de caractères collée?
Edit: Par ailleurs comment sont-affichés les "dommages truc" ? si c'est pas rentré par l'utilisateur mais quelque chose d'afficher du style
if(machin==2) echo "dommage terre" etc.. autant mettre le point à ce moment la.
Est ce que se serait possible de le faire avec les expressions régulière, du genre si après le mot dommages ont trouvent feu ou air ou eau on met le points après feu etc..
sinon on le met après le mot dommages.
Pour ta question voici un texte que j'ajoute dans le textarea ($stats)
6 à 10 Dommages
31 à 50 Puissance
31 à 50 Sagesse
251 à 300 Vitalité
6 à 10 Soins
11 à 20 Prospection
6 à 10% Résistance Neutre
6 à 10% Résistance Feu
4 à 5 Coups Critiques
1 PO
Et je fais un nl2br($stats)
Après j'ajoute un points via mon tableau ce qui donne NORMALEMENT ce résultat :
6 à 10 Dommages.
31 à 50 Dommages Air.
31 à 50 Sagesse.
251 à 300 Vitalité.
6 à 10 Soins.
11 à 20 Prospection.
6 à 10% Résistance Neutre.
6 à 10% Résistance Feu.
4 à 5 Coups Critiques.
1 PO.
Après je fais un substr($stats, 0, -1) donc qui enlève le dernier points puis pour finir je fais un explode au niveau des ".".
Comme ceci je peux travailler sur chaque caracs comme je le souhaite.
C'est ce que je voulais faire, mais je me rappelais plus de "\r" et "\n" du j'étais obligé d'aller chercher midi à quatorze heure...
Bah franchement je te remercie énormément je vais remettre tout ma function en place et tester ça, normalement.
Normalement tout fonctionnenera
De rien,
oui c'est relativement chiant si tu me pardonnes l'expression ces sauts de ligne un coup avec un \r un coup sans...
Bonne continuation
Antho