2017-01-01 4 views
1

Как preg_replace все пробелы в моем тексте с различными номерами?preg_replace пробелы с цифрами

в

{"id":" "},{"id":" "},{"id":" "}, 

быть

{"id":"1"},{"id":"2"},{"id":"3"}, 
+0

ли входная строкой JSON? – chris85

+0

да только JSON как пример –

+1

Зачем использовать регулярное выражение? Расшифруйте его итерацией через него. – chris85

ответ

1

раствора с использованием функции preg_replace_callback:

$text = '{"id":" "},{"id":" "},{"id":" "},'; 
$count = 0; 
$text = preg_replace_callback('/" "(?=})/', function ($m) use(&$count){ 
    return ++$count; 
}, $text); 

print_r($text); 

Выход:

{"id":1},{"id":2},{"id":3}, 

Если есть реальная необходимость заключать цифры с двойными кавычками заменить выражение возвращаемого обратного вызова со следующим:

return '"' . ++$count . '"'; 
+0

Большое спасибо, ты спас мой день :) –

+0

@ Dr.Mezo, добро пожаловать – RomanPerekhrest

+0

Вы также можете задать этот вопрос http://stackoverflow.com/questions/41420319/preg-replace-null-with-specific- данные? noredirect = 1 # comment70046047_41420319 –

Смежные вопросы