#php #regex
#php #регулярное выражение
Вопрос:
У меня есть набор строк чисел, и я хочу удалить 1 там, где он найден.
у меня есть этот набор
$arr="605-2969,
408-605-2969,
1-408-605-2969,
1 (408) 605-2969,
(408) 605-2969,
(408)-605-2969,
14086052969,
4086052969,
6052969";
и хотите удалить 1 из него.
я попробовал следующий код:
$str = ltrim($arr, ' 1');
var_dump($str);
но это не работает.Пожалуйста, помогите мне или дайте мне идею для решения этой проблемы.
я хочу, чтобы вывод был как в массиве:
«4086632208,4088072425,4086052969,…»
Комментарии:
1. Y не str_replace
2. как это делается с помощью str_replace. я пробовал, но не получал выходных данных
3. что-то вроде this:- eval.in/659776
4. да, нужно что-то подобное, но можем ли мы получить числа без дополнительных символов и 1
5. Ваш вопрос об удалении всех специальных символов или просто
1
? Может быть, вы хотитеpreg_replace
.
Ответ №1:
Вы можете использовать str_replace()
как:
$str = str_replace(' 1','',$arr);
var_dump($str);
Ответ №2:
Используется preg_replace()
для удаления всего, что соответствует шаблону. Шаблон будет соответствовать 1
и любому символу, кроме цифр и запятой.
$str = preg_replace('/ 1|[^d,]/', '', $arr);