• С чего начать и как себя рекламировать веб-мастеру?

    @HRDEV Автор вопроса
    В целом я так и делаю, вот допустим последний мой проект, сделанный с нуля недорого: perila-sochi.ru.
    Где моих рук дело это дизайн (без копирайта), верстка ну и непосредственно сама не сложная самописная cms.
    Щас буду как раз красиво оформлять личный сайт для тех избранных, кто перейдет по ссылке в футере.
  • С чего начать и как себя рекламировать веб-мастеру?

    @HRDEV Автор вопроса
    В принципе согласен, сейчас как раз таки занимаюсь разработкой своего сайта, где будут все мои фишки, сам будет интересным, с анимациями, блогом и прочими плюшками, думаю как раз таки большинство клиентов, войдя на личный сайт должны будут оценить и сразу понять степень отношения разработчика к клиентам, также насколько я понял рекомендуется вести свой git-hub профиль.
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Ди Ма: в базе быстрее и безопаснее, конечно согласен - заливать файлы пока что удобнее, но когда будет готов шаблонизатор в админ-панели, тогда разницы почти не будет.
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Вот функция (пока что сыровата наверное, но главная страница как видно, работает).
    function get($table, $params, $template) {
    global $localization;
    $title = $localization[strtoupper($table)];
    $rows  = sql('SELECT * FROM `'.$table.'` ORDER BY `id` DESC', $params);
    preg_match_all('/{([\w]*?)}/', $template, $matches);
    foreach ($rows as $row) {
    $find    = array();
    $replace = array();
    foreach ($matches[0] as $f)  array_push ($find, $f);
    foreach ($matches[1] as $r)  array_push ($replace, $row[strtolower($r)]);
    $content .= str_replace($find, $replace, $template);
    }
    if (!$content) $content = str_replace("{ALERT}", $localization[strtoupper($table.'_NOT_FOUND')], getTemplate(1));
    return array('TITLE' => $title, 'CONTENT' => $content);
    }
    
    if (!isset($_GET['post'])) {
    $publications = get('Publications', false, getTemplate(7));
    $title = $publications['TITLE'];
    $content = $publications['CONTENT'];
    } else if (is_numeric($_GET['post'])) {
    	.....


    И да, шаблоны все в базе, да и движок весь в одном файле (пока накопил 400 строк)
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Нашел решение, слава англоязычным сайтам!
    <?php
    $subject = '<div class="title">%TITLE%</div><div class="block">%TEXT%</div>';
    preg_match_all('/%([\w]*?)%/', $subject, $matches);
    $find    = array();
    $replace = array();
    foreach ($matches[0] as $f)  array_push ($find, $f);
    foreach ($matches[1] as $r)  array_push ($replace, $r);
    
    var_dump ($find);
    ?>
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Ди Ма: а можно же парсить не $data, а именно $str? потому-что у меня база данных выдает вообще такой array -
    array(10) { ["id"]=> string(1) "1" [0]=> string(1) "1" ["title"]=> string(32) "Добро пожаловать!" [1]=> string(32) "Добро пожаловать!" ["short"]=> string(89) "Совсем скоро будут доработаны все функции сайта." [2]=> string(89) "Совсем скоро будут доработаны все функции сайта." ["full"]=> string(89) "Совсем скоро будут доработаны все функции сайта." [3]=> string(89) "Совсем скоро будут доработаны все функции сайта." ["time"]=> string(1) "0" [4]=> string(1) "0" }
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Вот вообще что выводит такой код:
    <?php
    $subject = '<div class="title">%TITLE%</div><div class="block">%TEXT%</div>';
    preg_match('/%([\w]*?)%/', $subject, $matches);
    var_dump($matches);
    ?>

    array(2) { [0]=> string(7) "%TITLE%" [1]=> string(5) "TITLE" }

    hr-dev.ru/test.php
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Ди Ма: в том то и дело что не все сразу находит, поэтому цепляюсь за циклы, моя воля была бы я бы сделал бы все вообще в одной строке как preg_replace, если бы знал как.
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Вроде почти сделал, только не знаю как это все в цикл обернуть, подскажите?
    <?php
    $subject = '<div class="title">%TITLE%</div><div class="block">%TEXT%</div>';
    $pattern = '/%([\w]*?)%/';
    $tpl = array('TITLE' => 'Мой заголовок','TEXT' => 'Какой-то контент');
    $find = array();
    $replace = array();
    preg_match($pattern, $subject, $matches);
    
    // Тут цикл начинается
    array_push ($find, $matches[0]); // На первом месте выводит %TITLE%
    array_push ($replace, $matches[1]); // На втором уже выводит TITLE
    //END
    ?>
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Хех, у меня все попроще :)
    4Wd6HXTGSCK_LP5cdBguig.png
    function getTemplate($id) {
    return htmlspecialchars_decode(sql("SELECT `template` FROM `Templates` WHERE `id`= ?", array($id))->fetch(PDO::FETCH_BOTH)['template']);
    }
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    Что нужно поменять что-бы работало?
    hr-dev.ru/test.php
    <?php
    $object = '<div class="title">%TITLE%</div><div class="block">%TEXT%</div>';
    $row = array('TITLE' => 'Привет', 'TEXT' => 'Это текст');
      foreach ($object as $k => $v) { // --- Видимо тут что-то не так.
        array_push ($find, "/%".$k."%/");
        array_push ($replace, $v);
      }
     exit(preg_replace($find, $row[$replace], $object));
    ?>

    Думаю моя логика понятна.
  • Как найти и поместить в array?

    @HRDEV Автор вопроса
    О, спасибо!
    А не подскажете как заставить это:
    <div class="title">%TITLE%</div><div class="block">%TEXT%</div>

    Преобразиться в это:
    <div class="title">Привет!</div><div class="block">Это текст</div>

    Должно быть как-то так?
    $row = array('TITLE' => 'Привет', 'TEXT' => 'Это текст');
    preg_replace('/%(.*?)%/', $row['ТО ЧТО НАШЛОСЬ ( допустим TITLE ) (надо ещё как-то вырезать %) '], $object);


    Просто пишу шаблонизатор, хочу сделать его универсальным но пока не понимаю как это сделать.