PHP - insérer un caractère dans une chaine

Résolu
nino11 Messages postés 76 Date d'inscription   Statut Membre Dernière intervention   -  
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais savoir si il existe une fonction pour insérer un caractère dans une chaine...


Ex: j'ai le mot "rue" et je veux insérer le caractère "o" en 2ème position par exemple et en résultat, mon mot départ deviens "roue"...

Donc, je voulais savoir si une fonction pouvais faire cela ?

(Autre que la concaténation + la fonction substr()...)
A voir également:

2 réponses

macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89
 
Bonjour.

Il n'y a pas à ma connaissance de fonction php prédéfinie pour insérerer le caractère carac en n-ième position .
Mais il "suffit" de la coder et d'appeler ensuite ta fonction, donc ce n'est pas trop gênant...

Sinon, tu peux étudier la fonction ereg_replace, mais utiliser des expressions régulières pour faire ça, c'est plus compliqué (et je ne suis pas sûr que ça représente un réél gain au niveau consommation des ressources)
4
redlifebig Messages postés 59 Date d'inscription   Statut Membre Dernière intervention   23
 
La fonction existe

substr_replace("rue","o",1,0)
0
macgawel Messages postés 664 Date d'inscription   Statut Membre Dernière intervention   89 > redlifebig Messages postés 59 Date d'inscription   Statut Membre Dernière intervention  
 
Au temps pour moi :-O

Pour la peine, la doc sur substr_replace :

Description

string substr_replace(string string ,string replacement ,int start ,[int length ])

substr_replace effectue un remplacement dans la portion de string délimitée par le caractère start et de longueur optionnelle length. Le remplacement est fait avec la chaîne replacement. Le résultat est retourné.

Si start est positif, le remplacement commencera au caractère start, dans la chaîne string.

Si start est négative, le remplacement commencera au caractère start en partant de la fin de la chaîne string.

Si length est donné et positif, la chaîne retournée aura la longueur length. Si length est donné et négatif, la chaîne retournée aura la longueur length, en partant de la fin. Par défaut, il prendra la valeur de strlen(string ); c'est-à-dire qu'il remplacera jusqu'à la fin de la chaîne string.

Exemple avec substr_replace

<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr>\n";
/* Ces deux exemples remplacent tout $var avec 'bob'. */
echo substr_replace($var, 'bob', 0)."<br>\n";
echo substr_replace($var, 'bob', 0, strlen($var))."<br>\n";
/* Insère 'bob' à gauche, du début de $var. */
echo substr_replace($var, 'bob', 0, 0)."<br>\n";
/* Ces deux exemples remplacent 'MNRPQR' dans $var avec 'bob'. */
echo substr_replace($var, 'bob', 10, -1)."<br>\n";
echo substr_replace($var, 'bob', -7, -1)."<br>\n";
/* Efface 'MNRPQR' dans $var. */
echo substr_replace($var, '', 10, -1)."<br>\n";
?>

Voir aussi str_replace et substr. 
0
nino11 Messages postés 76 Date d'inscription   Statut Membre Dernière intervention  
 
up
-3