Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

[PHP]Здравствуйте. С помощью какой функции можно заменить несколько символов строки?

Муров Илья Мастер (1693), закрыт 10 месяцев назад
есть стока с определенным количеством символов(9) нужно заменить 5,6,7 символ на *. Как это сделать
Лучший ответ
Professional Professional Мудрец (15213) 10 месяцев назад
Для того чтобы заменить конкретные символы в строке в PHP, вы можете использовать функцию `substr_replace()`. Эта функция позволяет заменить подстроку в заданной строке. Вот как вы можете это сделать:

```php
<?php
$str = "Ваша строка здесь";
$newStr = substr_replace($str, '***', 4, 3); // начинаем с 5го символа (индекс 4), заменяем 3 символа
echo $newStr;
?>
```

Обратите внимание, что нумерация символов в строках в PHP начинается с нуля. Поэтому если вам нужно заменить 5-й, 6-й и 7-й символы, вы должны начать с 4-го индекса, а не с 5-го.

Также учтите, что PHP работает с символами на основе байтов, что может вызвать проблемы при работе с многобайтовыми символами, например, с символами Юникода. Если ваша строка может содержать многобайтовые символы, вам потребуется более сложный подход для работы с этими символами.
Остальные ответы
Андрей Высший разум (425879) 10 месяцев назад
 $s = '123456789';
$s[4] = $s[5] = $s[6] = '*';
echo $s;
 $s = '123456789';
$s = substr_replace($s, '***', 4, 3);
echo $s;
 $s = 'абвгдеёжз';
$s = mb_substr($s, 0, 4, 'UTF-8') . '***' . mb_substr($s, 7, null, 'UTF-8');
echo $s;
Последний вариант необходим, если символ может быть длиннее 1 байта.
Похожие вопросы