Как заменить символы в строке php
Перейти к содержимому

Как заменить символы в строке php

  • автор:

Как заменить символы в строке?

Вопрос: Как заменить в данной строке все символы до @ и исключить первый символ и последний до @, на * . То есть должно получиться вот так:

Как реализовать данную задачу?
Отслеживать
5,811 3 3 золотых знака 14 14 серебряных знаков 24 24 бронзовых знака
задан 17 июн 2018 в 9:47
438 1 1 золотой знак 6 6 серебряных знаков 20 20 бронзовых знаков

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

$str /cdn-cgi/l/email-protection" data-cfemail="f68582979a97b6819394859f8293d895999b">[email protected]"; $pos = stripos($str, "@"); for($i=1; $i < $pos - 1; $i++) $str[$i] = "*"; echo $str; //Выводит v******[email protected] 

Отслеживать
ответ дан 17 июн 2018 в 9:52
3,161 2 2 золотых знака 22 22 серебряных знака 43 43 бронзовых знака

$str /cdn-cgi/l/email-protection" data-cfemail="423427303136232e2302352720312b36276c212d2f">[email protected]"; // При условии, что строка валидный мейл // Первая часть это имя пользователя, вторая адрес почты preg_match('/(?.+)@(?.+)/', $str, $matches); //---------------------------------------------------------------- // $matches['hide'][0] - первая буква $hide_name = $matches['hide'][0] . str_repeat("*", strlen($matches['hide']) - 1); // echo sprintf("%s@%s", $hide_name, $matches['addr']); 

Отслеживать
ответ дан 17 июн 2018 в 22:37
5,811 3 3 золотых знака 14 14 серебряных знаков 24 24 бронзовых знака

Ещё вариант в коллекцию ответов:

$str = '[email protected]'; echo preg_replace_callback( '~(?<=[\pL\d]).+(?=[\pL\d]@)~', function($a)< return str_repeat('*', strlen($a[0])); >, $str ); 

Отслеживать
ответ дан 17 июн 2018 в 22:51
11.4k 4 4 золотых знака 18 18 серебряных знаков 28 28 бронзовых знаков

  • php
  • strlen
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как заменить символы в строке php

Поисковый запрос - "php найти слово в скобках", к сожалению, этого недостаточно, найти и. что сделать!?

php найти слово в скобках - подчеркнуть!? На странице рассмотрели нахождение повторяющегося слова

php найти слово в скобках - удалить!?

php найти слово в скобках - заменить!? Также была тема замены слова в скобках(скобки без разницы какие, нужно в скрипте это прописать)

php найти слово в скобках - получить текст внутри скобок. Для данного вопроса, необходимы уточнения. первое ли вхождение в строке, либо все вхождения в строке.

Заменить N-ый символ в строке php

Поисковый запрос "заменить 5 символ в строке php", "заменить 2 символ в строке php" - в общем объединим, данные поисковые запросы в один: "Заменить N-ый символ в строке php"
Как это сделать!? Если речь идет о "кириллице в utf-8", то придется поднапрячься.

А если для латиницы, то вообще легко.

Раз уж пошла речь о замене 5, то и возьмем это число и фразу:

Обратимся к пятому элементу строки, как к ячейке массива и поставим туда, какой-то знак, пусть это будет вопросительный .

Вопрос на засыпку. почему нельзя таким образом заменить символ на несколько символов. что произойдет!?

Смотрим результат.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *