15-07-2006, 00:23
|
|
|
חבר מתאריך: 30.06.06
הודעות: 185
|
|
אתה יכול להשתמש בביטוי רגולרי, רק שאתה לא יכול להשתמש ב <>, כי אם תשים שם גם HTML זה לא ידע להבדיל בין תג HTML לבין דברים שלך.
תשתמש נגיד ב {USERNAME}
והקוד צריך להיות משהו כזה
קוד PHP:
<?php function print_html ($string, $vars=array()) { echo preg_replace('/\{(\w+)\}/e', '$vars[\'\1\']', $string); } ?>
והקוד שנתת לא יפעל, כי הפונקציה bla לא מחזירה ערך אלא מדפיסה אותו.
אתה תצטרך לגרום לכך שהפונקציה תחזיר ערך, או שתשתמש ב ob
משהו כזה:
קוד PHP:
<?php $vars=array('USERNAME' => 'eXeCuTe'); function tem_vars ($string) { global $vars; return preg_replace('/\{(\w+)\}/e', '$vars[\'\1\']', $string); } ob_start('tem_vars'); echo <<<END;
hi {USERNAME} END; ob_end_flush(); ?>
מספר הערות - לא בדקתי את הקוד, אם הוא לא פועל תנסה לסדר אותו
ואני מציע שתנסה להבין מה הוא עושה, ולא סתם תעתיק אותו, כי להעתיק זה לא חוכמה.
|