كيف أحول {str} إلى $str متغیر يحمل قيمة ما بداخله؟

أنا عندي نص بهذا الشكل:

$str=" c_books.php?action=edit&id={id}";
$id=1234;

وأريد أن أطبع قيمة المتغير في السطر الثاني 1234، مكان {id} في السطر الأول..

وطبعا أريد أن أطبعه في السطر الثالث الجديد.

كيف السبيل ؟

بحثت ولكن لم أنجح

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

$CODE   =   'echo "hello {name}";';
$name   =   "user";
eval(preg_replace("/\{(.*)\}/i","\$$1",$CODE));
str_replace('{id}',$id,$str);

تفضل أخي.

أريد أن يتم تحديد اسم المتغير كذلك تلقائيا، (ديناميكية أكبر)

مثلا إذا كان {item} بدل {id} يتعرف عليه أيضا ويحوله إلى $item ویطبع قيمة المتغير $item الذی تم تعيينه مسبقا

-1

تفضل الحل

// المصفوفة الأولى للتعابير التي ترغب بوجودها
$termsArr = array('{id}','{term}','{blabla}','{foo}','{bar}');
// المصفوفة الثانية تحوي على القيم ويجب مراعاة نفس الترتيب مع المصفوفة الأولى
$valueArr = array($id,$term,$blabla,$foo,$bar);
$str = 'cbook.php?id={term}';
$newstring =  str_replace($termsArr,$valueArr,$str);