#php
#php
Вопрос:
Здесь у меня есть текстовый блок, который я буду вставлять в базу данных, но формат неправильный, в настоящее время он представлен мне следующим образом :
1. 24629583
2. 48676466
3. 73003919
4. 03927166
5. 37734358
6. 37132612
Когда мне нужно, чтобы это было так :
24629583,48676466,73003919,03927166,37734358,37132612
В любом случае, они могут сделать это быстро, кроме как делать explode()
and then preg_replace
?
Комментарии:
1. Интересно, как выглядит «разрушающаяся запятая»…
2. Один из вариантов
preg_replace("~(rn)?d . ~", ',', substr($submitted_string, 3));
— нет необходимостиexplode()
.3. Вы можете использовать два
explode
s и anarray_map
:implode(",", array_map(function ($item) { return explode(" ", $item)[1];}, explode("rn", $text_block)));
. В качестве бонуса мы видим «разрушающуюся запятую».
Ответ №1:
Вы можете попробовать это:
$string = '1. 24629583
2. 48676466
3. 73003919
4. 03927166
5. 37734358
6. 37132612';
$result = preg_replace('/s /', ',', preg_replace('/[0-9] .s/', '', $string));
Комментарии:
1. Вы пробовали это? Я думаю, что вы генерируете много запятых!
2. Это приводит к следующему результату :
,,24629583,48676466,73003919,03927166,37734358,37132612,,
3. Это было из indentation s должно это исправить.