Я пытаюсь заменить все \ n в строке json на двойной канал ||. Вот пример строки:Регулярное выражение с PHP для замены строк новой строки
{"comment":"test1
test2
test3"}';
Вот регулярное выражение я сделал:
preg_match('/"comment":"(([^\n\t\r"]*)([\n\t\r]*))+"/', $a, $t);
Результатом этого является preg_match
Array
(
[0] => "comment":"test1
test2
test3"
[1] =>
[2] =>
[3] =>
)
Я не могу найти то, неправильно с моим регулярным выражением.
Нужен ли рекурсивный шаблон (? R)?
Спасибо.
, если вы хотите заменить '\ n' символов, то почему вы используете' preg_match'? –
На самом деле я не хочу заменять все новые строки, но только новые строки в комментарии. Если у вас есть || сразу после {, функция php json_decode столкнется с проблемой. – Mahcih
@Hicham: cf мой ответ: декодируйте строку, измените значение 'comment' и снова закодируйте данные. Это самый простой способ и самый безопасный способ: –