سلام ، من میخوام با php کاری انجام بدم که دیتای بین رو آکولاد رو تشخیص بدم . یعنی اگر داخل یک متغییر که یک جمله کامل نوشته شده است بیاییم و متن هایی را که در این متن بین آکولاد قرار دارند از متن حذف کنیم و آن را نمایش بدهیم .
اگر منظور من رو نفهمیدید به این مثال توجه کنید :
متن خام : سلام من برنامه نویس {#prog} هستم
متن بعد هندل : سلام من برنامه نویس هستم .
سلام
اگه بخواید دقیقا اینکارو انجام بدید باید نام متغیرهای موجود در متن و مقادیرشون رو به نحوی در دو آرایه جدا ذخیره کنید؛ مثلا این شکلی :
$vars = [
'name' => 'mohsen',
'website' => 'Roocket'
];
$keys = array_map(function($key){
return "{" . $key . "}";
}, array_keys($vars));
$values = array_values($vars);
اینجا 3 تا متغیر داریم : vars - keys - values
متغیر vars برای ذخیره نام و مقادیر متغیرهاست.
حالا از طریق توابع array_keys و array_values نامها و مقادیر متغیرهارو از هم جدا و تو دو تا آرایه مختلف ذخیره کردم.
منتها از اونجایی که گفتید میخواید متغیرهاتون بین آکولاد باشن من هم نام متغیرهارو از طریق تابع array_map تغییر دادم به شکلی که درون آکولاد قرار بگیرن.
بعد از انجام این کارا باید از طریق تابع str_replace متغیرهارو با مقادیرشون جایگزین کنید، به این شکل که آرایه متشکل از نام متغیرها رو به عنوان پارامتر اول، آرایه متشکل از مقادیر متغیرها رو به عنوان پارامتر دوم و متن مورد نظر رو به عنوان پارامتر سوم به تابع بفرستید، به این شکل :
$text = 'Hello {name}, Welcome To {website}';
$text = str_replace($keys, $values, $text);
echo $text;
// Result => Hello mohsen, Welcome To Roocket
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟