Не делайте тогда реплейс а сделайте матч в скобки возьмите цифру вида \.([\d]){2}[^\.] С ключем 1 будет ваша цифра сорри пишу с телефона так бы ответил подробнее
если у вас алерт выводит правильное значение значит где-то присваивается значение этой переменной. принимаете в функцию все верно в php обработчике декодируйте свой json сделайте var_damp и вам все станет сразу ясно
как я вас правильно понял мы берем 'input_value' из первого массива и сравниваем его со всеми элементами массива $recipes ? или по какому-то 1 ключу или по паре ключей?
начал решать вашу проблему и кое что не пойму " Если из каталога и $_SERVER["HTTP_REFERER"] пуст" пуст будет только когда не на ссылку нажали, а когда адрес вручную вбили. " если не из каталога и не первый раз, то оставить предыдущую ссылку" это регуляркой проверяйте, это "а если не из каталога и $_SERVER["HTTP_REFERER"] был пуст, оставить его пустым." как по мне так вообще пустая трата времени...