webentwicklung-frage-antwort-db.com.de

PHP Funktion zum Ersetzen eines (i) -ten Positionszeichens

Gibt es eine Funktion in PHP, die einen String, eine Zahl (i) und ein Zeichen (x) aufnimmt und das Zeichen an Position (i) durch (x) ersetzt?

Wenn nicht, kann mir jemand bei der Umsetzung helfen?

19
vikmalhotra
$str    = 'bar';
$str[1] = 'A';
echo $str; // prints bAr

oder Sie könnten die Bibliotheksfunktion substr_replace verwenden als:

$str = substr_replace($str,$char,$pos,1);
50
codaddict

Ich wunderte mich, warum sich niemand an substr_replace () erinnert.

substr_replace($str, $x, $i, 1);
14
zerkms

Codaddict ist richtig , aber wenn Sie eine Funktion wollten, könnten Sie versuchen ...

function updateChar($str, $char, $offset) {

   if ( ! isset($str[$offset])) {
       return FALSE;
   }

   $str[$offset] = $char;

   return $str;

}

Es klappt!

3
alex
function replace_char($string, $position, $newchar) {
  if(strlen($string) <= $position) {
    return $string;
  }
  $string[$position] = $newchar;
  return $string;
}

Es ist sicher, Strings als Arrays in PHP zu behandeln, solange Sie nicht versuchen, Zeichen nach dem Ende des Strings zu ändern. Siehe das Handbuch über die Saiten :

1
Emil Vikström