كيف أكتب نصي لإخراج البيانات حيث أضع شيئا مثل هذا: {name}

StackOverflow https://stackoverflow.com/questions/933463

  •  06-09-2019
  •  | 
  •  

سؤال

لقد رأيت العديد من البرامج النصية التي سترى شيئا مثل هذا

<meta keyword="{keywords}" ...>

أو

<input type="text" name="name" value="{name}">

ما يسمى وكيف يمكنني القيام بذلك بنفسي.

شكرا

لا يوجد حل صحيح

نصائح أخرى

يسمى قالب.

تحتاج إلى محرك قالب أو يمكنك كتابة واحدة بنفسك. منذ وقت طويل كان هناك محرك قالب مشهور يسمى Smarty. اليوم، محركات القالب هي جزء من معظم الأطر.

فيما يلي قائمة ببعض محركات القوالب الخاصة ب PHP:http://www.webresourcesdepot.com/19-promising-php-template-engines/

بالنظر إلى حقيقة أن لديك مثل هذا السؤال، فإن محرك القالب الخاص بك الخاص سيكون على الأرجح أخطاء، لذلك أقترح اختيار واحد من تلك المتاحة بحرية.

شيء اخر. PHP نفسه هو نوع من محرك القالب، لذلك لا يتعين عليك بالضرورة إضافة مستوى آخر من القالب. استخدم PHP:

<input type="text" name="name" value="<?=$VALUES['name']?>">

هل يمكنني أن أوصي ...

<input type="text" name="name" value="<?= e($name) ?>">

حيث ه وظيفة الهروب

أجد محركات القوالب غير ضرورية

مزيد من الأمثلة...

foreach ...

<ul>
<?php foreach( $items as $item ): ?>
    <li><?= e($item) ?><li>
<?php endforeach; ?>
</ul>

إذا....

<input type="checkbox"<?php if( $checkbox ): ?> selected="selected"<?php endif; ?>>

هناك محركات قالب هناك تدعم هذا النمط من بناء الجملة المتغير، على سبيل المثال قوالب Blitz (http://alexeyrybak.com/blitz/blitz_en.html.) يتبادر إلى الذهن.

لست متأكدا مما تعنيه، لكن اسمحوا لي أن آخذ تخمين برية:

$foo = "Please replace {this} here!";
$bar = str_replace('{this}', 'that', $foo);

بالطبع هناك الكثير من الأنظمة القسمة حولها التي تفعل ذلك بالضبط، فقط أكثر ذكاء. لذلك قد ترغب في أن ننظر إلى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top