Как заменить символы в строке?
Вопрос: Как заменить в данной строке все символы до @ и исключить первый символ и последний до @, на * . То есть должно получиться вот так:
Как реализовать данную задачу?
Отслеживать
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, то и возьмем это число и фразу:
Обратимся к пятому элементу строки, как к ячейке массива и поставим туда, какой-то знак, пусть это будет вопросительный .
Вопрос на засыпку. почему нельзя таким образом заменить символ на несколько символов. что произойдет!?
Смотрим результат.