всем привет заранее говорю, это не парсер, просто растиражировать копию сайта на несколько городов нужно. в базе данных хранится строка в json, соответственно кириллица там выглядит так \u433\u442 есть список слов, которые нужно найти и заменить в процессе. декодировать json не вариант, там на выходе херзнает сколько вложенный массив, что бы добраться до нужного. если вручную перегнать слово в unicode и искать вот так PHP: $i = strpos($res, " \\u0442\\u0433"); $k = strpos($res, ' \\u0442\\u0433'); $l = strpos($res, ' \u0442\u0433'); но это же гемор, нам нужно все по человечески сделать. PHP: $find = ' тг'; /*Удаляем кавычки, созданные Json*/ $jsonReplace = str_replace('"', '', json_encode($find)); /*Добавляем экранирование*/ $jsonReplace = addslashes($jsonReplace); $m = strpos($res, $jsonReplace); и что с экранированием, что без - возвращает false что подскажут светлые местные головы?
спасибо, но мне кажется мы ушли не в ту сторону. вместо того что бы декодировать посимвольно, есть же методы попроще я вот нашел более лаконичное решение вытащить строку Json PHP: $find = "тг"; $jsonFind = substr(json_encode($find), 1, -1); и все заработало
Как вопрос звучал? Где то был вопрос о том как json разобрать? Откуда нам знать что у вас в строке где вы ищете...
Есть функции работающие с JSON в SQL. В Mysql например: https://dev.mysql.com/doc/refman/8.0/en/json-search-functions.html Может потребоваться приведение типа к типу JSON.
это только для единичных задач. на деле лучше получить в php и работать со строкой кучей доступных инструментов. все, все. ладно. вопрос был не до конца корректно задан. по сути пост был создан больше для психологического снятия нагрузки. когда мозг кипит - размещаешь пост, расслабляешься и через часок находишь решение