За последние 24 часа нас посетили 49866 программистов и 1730 роботов. Сейчас ищут 735 программистов ...

Шаблонизатор,проблемка

Тема в разделе "PHP для новичков", создана пользователем Elect, 27 авг 2015.

  1. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    В общем в моём "шаблонизаторе" есть что то вроде получения инфы о пользователе
    вроде {user=login} или {user=group}
    Но он выбирает что одно из этого(т.е. одновременно и то,и то он не заменит)
    Помогите решить проблему.
    Код (PHP):
    1. private function ReplaceUserInfo($tmp_content){
    2.         preg_match("/{user=([a-z,]+)?}/",$tmp_content,$u);
    3.         if(isset($_COOKIE['logged'])){
    4.             global $mysqli;
    5.             $login=$_COOKIE['logged'];
    6.             $sql = $mysqli->query("SELECT * FROM users WHERE login='$login'");
    7.             $user_info = $sql->fetch_assoc();
    8.             $tmp_content = str_replace($u['0'],$user_info[$u['1']], $tmp_content);
    9.         }else{
    10.             $tmp_content = str_replace($u['0'],"", $tmp_content);
    11.         }
    12.         return $tmp_content;
    13.     }
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    preg_match_all
     
  3. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Теперь var_dump выдаёт array(2) { [0]=> array(2) { [0]=> string(12) "{user=login}" [1]=> string(12) "{user=group}" } [1]=> array(2) { [0]=> string(5) "login" [1]=> string(5) "group" } }
    И ошибки Warning: Illegal offset type in D:\home\r.ru\www\system.php on line 188
    188.$tmp_content = str_replace($u['0'],$user_info[$u['1']], $tmp_content);
     
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Elect тут учат и подсказывают, если нужен готовый код, могу перенести тему в раздел "сделайте за меня" или "free-lance"
    Вывод var_dump оформляй, смотри исходный код или оборачивай в тег <pre>
     
  5. Elect

    Elect Новичок

    С нами с:
    4 авг 2015
    Сообщения:
    70
    Симпатии:
    0
    Не,спасибо,я вс решил,сообщение просто не отправилось.Тут цикл и всё ок.