как проанализировать переменную внутри строки?
вот пример кода, который работает:
$str = "12345";
$str2 = "STR:{$str}";
$str3 = $str2;
echo $str2;
echo $str3;
, но это не будет работать:
$otp = 12345;
$template = MessageTemplate::where('type',1)->first(); //db query
$message = $template->content; //content field, "OTP:{$otp}"
echo $message;
это код печатает OTP:{$otp}
вместо OTP:12345
вот что нам нужно:
$member = Member::where('id',$id)->with('position')->with('company')->first();
$otp = 12345;
$template = MessageTemplate::where('type',1)->first(); //db query
$message = $template->content; //content field, "OTP:{$otp}"
$sms = Sms::Create(['mobile'=>$member->mobile,'message'=>$message]);
этот код печатает OTP:{$otp}
вместо OTP:12345
Спасибо за ваши ответы. На самом деле мне нужно разобрать его перед сохранением в базе данных. строка «OTP: 12345» должна быть записана обратно в базу данных. а также переменные являются динамическими c. Это шаблон, позволяющий администратору настраивать сообщение, поэтому администратор может добавить столько переменных, сколько он / она хочет. Например: "{$ member-> title}, {$ member-> firstName}, {$ member-> lastName}, чтобы убедиться, что вы {$ mamber-> position-> name} из {$ member- > company-> name}. введите код {$ otp} ".
, поэтому я не могу использовать str_replace. а также наша база данных поддерживает json, поэтому администратор может добавить пользовательский атрибут в $ member