У меня есть несколько таких строк:
i: 11; a: 5: {s: 2: "id"; s: 4: "1097"; s: 5: "iName"; s: 12:" Ovo de Andre "; s: 10:" dropChance "; s: 4:" 2000 "; s: 4:" type ";i: 1; s: 5: "kName";s: 12: "Ovo de Andre";
И я хотел бы знать, как я мог бы заменить эту строку: "Ovo de Andre" на что-то вроде этого:
"Ovo_de_Andre", но он не может изменить пробелы, которые могут быть "".
Я пытался:
$ string = preg_replace('/"(.?)\s(.?)"/m', '"$ 1_ $ 2"', $ string);
Ноон просто заменяет первый пробел, тогда строка выглядит так:
i: 11; a: 5: {s: 2: "id"; s: 4: "1097"; s:5: "iName"; s: 12: "Ovo_de Andre"; s: 10: "dropChance"; s: 4: "2000"; s: 4: "type";i: 1; s: 5: "kName";s: 12: "Ovo_de Andre";
Я знаю, что мог бы потратить некоторое время, чтобы проверить его, но это было бы проблематично с производительностью, и я думаю, что это было бы излишним.
Кроме того, я хочу знать, как можно сделать то же самое, но вместо замены пробелов внутри "", заменить их без пробелов внутри "".
Заранее спасибо.
У меня есть эта ссылка, которая делает что-то похожее, но я не смог справиться с тем, что изменение дало мне то, что я хочу: Использование preg_replace для замены всех вхождений в php .
Вот полные данные, я разделил их на строки, чтобы проверить одну за другой на наличие ошибок, которые были там.
$ string = 'a: 16: {';$ string. = 'i: 0; a: 5: {s: 2: "id"; s: 4: "1113"; s: 5: "iName"; s: 5: "Drops"; s: 10:"dropChance"; s: 4: "7500"; s: 4: "тип", я: 1; s: 5: "kName"; s: 5: "капли";} ";$ string. = 'i: 1; a: 5: {s: 2: "id"; s: 4: "1585"; s: 5: "iName"; s: 11: "Mime Monkey"; s: 10: "dropChance"; s: 4: "7000"; s: 4: "type"; i: 1; s: 5: "kName"; s: 11: "Mime Monkey";} ';$ string. = 'i: 2; a: 5: {s: 2: "id"; s: 4: "1027"; s: 5: "iName"; s: 7: "Raptice"; s: 10:"dropChance"; s: 4: "7000"; s: 4: "тип", я: 1; s: 5: "kName"; s: 7: "Raptice";} ";$ string. = 'i: 3; a: 5: {s: 2: "id"; s: 4: "1002"; s: 5: "iName"; s: 6: "Poring"; s: 10:"dropChance"; s: 4: "7000"; s: 4: "тип", я: 1; s: 5: "kName"; s: 6: "Poring";} ";$ string. = 'i: 4; a: 5: {s: 2: "id"; s: 4: "1767"; s: 5: "iName"; s: 8: "Deviling"; s: 10:"dropChance"; s: 4: "5000"; s: 4: "тип"; я: 2; s: 5: "kName"; s: 8: "Deviling";} ";$ string. = 'i: 5; a: 5: {s: 2: "id"; s: 4: "1767"; s: 5: "iName"; s: 8: "Deviling"; s: 10:"dropChance"; s: 4: "5000"; s: 4: "тип"; я: 2; s: 5: "kName"; s: 8: "Deviling";} ";$ string. = 'i: 6; a: 5: {s: 2: "id"; s: 4: "1766"; s: 5: "iName"; s: 8: "Angeling"; s: 10:"dropChance"; s: 4: "5000"; s: 4: "тип"; я: 2; s: 5: "kName"; s: 8: "Angeling";} ";$ string. = 'i: 7; a: 5: {s: 2: "id"; s: 4: "1766"; s: 5: "iName"; s: 8: "Angeling"; s: 10:"dropChance"; s: 4: "5000"; s: 4: "тип"; я: 2; s: 5: "kName"; s: 8: "Angeling";} ";$ string. = 'i: 8; a: 5: {s: 2: "id"; s: 4: "1004"; s: 5: "iName"; s: 6: "Zangão"; s: 10:"dropChance"; s: 4: "3500"; s: 4: "тип", я: 1; s: 5: "kName"; s: 6: "Zangão";} ";$ string. = 'i: 9; a: 5: {s: 2: "id"; s: 4: "1236"; s: 5: "iName"; s: 12: "Ovo de Andre"; s:10: "dropChance"; s: 4: "3000"; s: 4: "type"; i: 1; s: 5: "kName"; s: 12: "Ovo de Andre";} ';$ string. = 'i: 10; a: 5: {s: 2: "id"; s: 4: "1076"; s: 5: "iName"; s: 9: "Esqueleto"; s: 10:"dropChance"; s: 4: "3000"; s: 4: "тип", я: 1; s: 5: "kName"; s: 9: "Esqueleto";} ";$ string. = 'i: 11; a: 5: {s: 2: "id"; s: 4: "1097"; s: 5: "iName"; s: 12: "Ovo de Andre"; s:10: "dropChance"; s: 4: "2000"; s: 4: "type"; i: 1; s: 5: "kName"; s: 12: "Ovo de Andre";} ';$ string. = 'i: 12; a: 5: {s: 2: "id"; s: 4: "1051"; s: 5: "iName"; s: 14: "Besouro-Ladrão"; s:10: "dropChance"; s: 4: "2000"; s: 4: "тип", я: 1; s: 5: "kName"; s: 14: "Безоро-Ladrão";} ";$ string. = 'i: 13; a: 5: {s: 2: "id"; s: 4: "1183"; s: 5: "iName"; s: 16: "ChonChon Raivoso"; s: 10: "dropChance"; s: 4: "1500"; s: 4: "type"; i: 1; s: 5: "kName"; s: 16: "ChonChon Raivoso";} ';
$ string. = 'i: 14; a: 5: {s: 2: "id"; s: 4: "1011"; s: 5: "iName"; s: 8: "ChonChon"; s: 10: "dropChance""; s: 4:" 1500 "; s: 4:" тип "я: 1; s: 5:" kName "; s: 8:" чончон ";}";$ string. = 'i: 15; a: 5: {s: 2: "id"; s: 4: "1784"; s: 5: "iName"; s: 5: "Stapo"; s: 10:"dropChance"; s: 4: "1000"; s: 4: "тип", я: 1; s: 5: "kName"; s: 5: "Stapo";} ";$ string. = '}';
Если посмотреть внимательно, вы заметите в строках i: 0 и i: 11 вектора некоторые пробелы между данными, которые показывают, какой номер строкии размер данных существует.