91 votes

Comment remplacer une partie d'une chaîne de caractères en PHP ?

J'essaie d'obtenir les 10 premiers caractères d'une chaîne de caractères et je veux remplacer l'espace par '_' .

J'ai

  $text = substr($text, 0, 10);
  $text = strtolower($text);

Mais je ne suis pas sûr de ce qu'il faut faire ensuite.

Je veux la chaîne

c'est le test pour la chaîne.

devenir

c'est_ce_là

170voto

Jonah Bishop Points 4040

Il suffit d'utiliser str_replace :

$text = str_replace(' ', '_', $text);

Vous feriez cela après que votre précédent substr y strtolower appels, comme ça :

$text = substr($text,0,10);
$text = strtolower($text);
$text = str_replace(' ', '_', $text);

Mais si vous voulez être plus fantaisiste, vous pouvez le faire en une seule ligne :

$text = strtolower(str_replace(' ', '_', substr($text, 0, 10)));

8voto

Baba Points 49157

Vous pouvez essayer

$string = "this is the test for string." ;
$string = str_replace(' ', '_', $string);
$string = substr($string,0,10);

var_dump($string);

Sortie

this_is_th

5voto

Zathrus Writer Points 3196

C'est probablement ce dont vous avez besoin :

$text = str_replace(' ', '_', substr($text, 0, 10));

4voto

Nelson Points 19623

Fais-le :

$text = str_replace(' ', '_', $text)

2voto

iceman Points 97

Vous devez d'abord couper la ficelle en autant de morceaux que vous voulez. Ensuite, remplacez la partie que vous voulez :

 $text = 'this is the test for string.';
 $text = substr($text, 0, 10);
 echo $text = str_replace(" ", "_", $text);

Ceci produira un résultat :

c'est_ce_là

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X