Я хочу знать функцию / алгоритм, подобный следующему:
(это в Луа)
function new_format(str, ...)
if not str then return '' end
local replace = {...}
local count = 1
local formatted = str:gsub('*', function()
if replace[count] then
local rep = replace[count]
count = count + 1
if type(rep) == 'Player' then
return rep:Name()
end
return rep
end
return ''
end)
return formatted
То, что в основном делает приведенный выше код, — это пройти строку и заменить ‘*’, затем перейти к следующему индексу таблицы и так далее.
Например
local str = 'Hello *, my name is * :D'
print(new_format(str, 'Stackoverflow', 'bizzy'))
код выше вывел бы:
Привет Stackoverflow, меня зовут Биззи: D
мой вопрос, если есть способ сделать то же самое в php?
Задача ещё не решена.
Других решений пока нет …