ФорумПрограммированиеPHP для идиотов → Регулярные выражения

Регулярные выражения

  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 16:01, спустя 34 минуты 19 секунд

    smv, тут проблема не в решении, а в неправильнрой постановке задачи - пхп код НЕ ДОЛЖЕН храниться в базе
    Сапожник без сапог
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 16 ноября 2010 г. 16:13, спустя 11 минут 42 секунды

    Согласен. И не раз слышал такое. В том то и смысл всего того что я выше изложил. PHP код в БД я заменил на {название файла.php} а при выводе контента я заменяю фигурные скобки на include (название файла.php). Я все правильно сделал? А если правильно то правильными ли средствами которые я описал ранне?
  • AlexB

    Сообщения: 4305 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 16:33, спустя 20 минут 52 секунды


    . PHP код в БД я заменил на {название файла.php}  а при выводе контента я заменяю фигурные скобки на include (название файла.php).
    Да это тоже самое, что хранить сразу в базе. Ты запрет на хранение в базе воспринимаешь как религиозное табу, т.е. не вникая в смысл этого запрета. А смысл не в том чтоб всеми правдами и неправдами этого добится, после чего автоматом попадаешь в рай, а в том чтобы спроектировать систему так,  чтобы данные были отделены от обработчиков. Тогда вопрос отпадет сам собой …
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 16 ноября 2010 г. 16:44, спустя 10 минут 16 секунд

    Я немного наверное недогоняю… пожалуйста поделитесь знаниями на примере… Есть страничка с контактами… С начала идет текст потом идет скрипт "обратной связи". Поидеи можно все страницу хранить как отдельный файл… и в ручном режиме ее подлючить. Но я то думал что будет лучше текст хранить в БД потом дописать {form} И уже при выводе нужные метки заменить на файл. Вот на моем примере как это можно сделать?
  • AlexB

    Сообщения: 4305 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 16:54, спустя 10 минут 17 секунд

    В твоем примере в базе данных должно быть поле - имеет страница форму обратной связи или нет - 0 или 1. Все!!!
    При выводе страницы, после вывода текста анализируем это поле или либо рисуем форму либо нет.
  • Tekuto

    Сообщения: 1147 Репутация: N Группа: Адекваты

    Spritz 16 ноября 2010 г. 17:09, спустя 15 минут 18 секунд

    или как вариант столбец с метками. а там прописывать мап, форм или еще что-то.
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 16 ноября 2010 г. 17:24, спустя 14 минут 42 секунды

    Ну исходя из этого я могу предположить что у меня должна быть таблица следующего вида:

    id|type_page|content
    1|script       |text

    Колонка type_page говорит о том есть ли на странице подключаемый скрипт.
    Для каждой страницы я должен иметь фидический файл… в котором будет находится обработчик. Который сначала выводит контент имебщийся в БД. Потом анализирует данные столбца type_page и подключает какой то скрипт. А если таких скриптов будет несколько? тогда нужно в БД либо создавать несколько таких столбцов либо в столбце type_page прописывать названия файлов который должны подключаться…так?

    Вот у меня сейчас есть страница index.php  котороя содержит в себе несколько ссылок. В том месте страницы где должен выводится контент у меня подключается скрипт обработчик contiler_page_content.php. Он выбирает контент из БД и выражения в фигурных скобках заменяет на include (файл). В таком случае если я захочу на какую либо страницу поместить скрипт, мне достаточно будет в БД в поле conten  в любое место добавить метку {script}  и мой обработчик автоматически приинкулил файл include.php
    Спустя 138 сек.

    или как вариант столбец с метками. а там прописывать мап, форм или еще что-то.


    Ладно будет у меня таблица

    id | script | content
    1 | map, form| text text

    Да… при обработке контета я смогу определить какие файлы подключать.. а как я определю место где они должны подлючаться? мне опять же придется делать это вручную… так?
    Спустя 273 сек.
    Вот у меня сейчас есть страница index.php  котороя содержит в себе несколько ссылок. В том месте страницы где должен выводится контент у меня подключается скрипт обработчик contiler_page_content.php. Он выбирает контент из БД и выражения в фигурных скобках заменяет на include (файл). В таком случае если я захочу на какую либо страницу поместить скрипт, мне достаточно будет в БД в поле conten  в любое место добавить метку {script}  и мой обработчик автоматически приинкулил файл script.php

  • AlexB

    Сообщения: 4305 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 17:24, спустя 2 секунды


    Да… при обработке контета я смогу определить какие файлы подключать.. а как я определю место где они должны подлючаться?
    Заведи еще одно поле в котором хранится место, например до текста или перед.
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 16 ноября 2010 г. 17:31, спустя 6 минут 48 секунд



    Да… при обработке контета я смогу определить какие файлы подключать.. а как я определю место где они должны подлючаться?
    Заведи еще одно поле в котором хранится место, например до текста или перед.


    Но бывают такие случае когда скрипт надо подключить в середине текста… Я же не могу прописывать между какими словами надо вставлять скрипт.
    Спустя 127 сек.
    Так даже если я и заведу еще одно поле где выводить скрипт… то я со своей делетантской точки зрения представляю еще ожин тот же самый php скрипт…
    Спустя 164 сек.
    Вот то что я написал… в контенте иметь - text text {script} text и потом {script} заменить на csript.php…в чем именно ошибка.? {script} формально это тоже самый текст.
  • AlexB

    Сообщения: 4305 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 17:33, спустя 1 минуту 58 секунд


    Но бывают такие случае когда скрипт надо подключить в середине текста…
    Храни для каждой страницы два текста - верхний и нижний.
    В общем заебал, приведи контент к какой-то единой структуре и опиши ее в базе.
    А если у тебя каждая страница пиздец какая уникальная, то в хранении в базе один фиг не имеет смысла - делай все в ручную, ибо база предназаначена для хранения больших объемов структурированных данных.
  • smv

    Сообщения: 236 Репутация: N Группа: Кто попало

    Spritz 16 ноября 2010 г. 17:44, спустя 11 минут 30 секунд



    Но бывают такие случае когда скрипт надо подключить в середине текста…
    Храни для каждой страницы два текста - верхний и нижний.
    В общем заебал, приведи контент к какой-то единой структуре и опиши ее в базе.
    А если у тебя каждая страница пиздец какая уникальная, то в хранении в базе один фиг не имеет смысла - делай все в ручную, ибо база предназаначена для хранения больших объемов структурированных данных.


    Неужели тебе никогда не доводилось создавать страницы где текст перемешан со скриптами? неужели сложно сказать.? ТЫ говориш делай отметки естли скрипт. Я задаю справедливый вопрос… Отметки сделаю.. как определить место где вставлять скрипт? Я хоть и не профи ну в БД создавать верхний и нижний текст это совсем не вариант…
  • AlexB

    Сообщения: 4305 Репутация: N Группа: в ухо

    Spritz 16 ноября 2010 г. 17:51, спустя 6 минут 59 секунд


    Неужели тебе никогда не доводилось создавать страницы где текст перемешан со скриптами?

    Нет не доводилось, они вообще перемешаны быть не могу т.к. страница в браузере, а скрипт на сервере.
    Страница может иметь ряд блоков, вот из каких блоков она состоит - тебе надо описать в базе. Сложная структура страницы - значит сложная база, другого подхода не изобретено.
  • Tekuto

    Сообщения: 1147 Репутация: N Группа: Адекваты

    Spritz 16 ноября 2010 г. 18:22, спустя 30 минут 54 секунды

    а если шорткоды на подобии в вордпрессе?
    Спустя 154 сек.
    http://core.trac.wordpress.org/browser/tags/3.0.1/wp-includes/shortcodes.php - вот пример
    Спустя 77 сек.
    в кодексе на сайте поползай. http://codex.wordpress.org/Category:Shortcodes

Пожалуйста, авторизуйтесь, чтобы написать комментарий!