Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: define и функции

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
winddancer
Отправлено: 19 Ноября, 2015 - 13:57:33
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Народ. Подскажите пожалуйста, как реализовать следующий "прикол".
Хочу в html писануть какое-то слово, а php вытаскивая его из БД понимало как php код, который я затолкал в define или же сразу как php функцию. Или без дефайна как-то напрямую функцию???

В какую сторону гуглить?
 
 Top
DelphinPRO
Отправлено: 19 Ноября, 2015 - 14:02:43
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)






-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
winddancer
Отправлено: 19 Ноября, 2015 - 14:29:37
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




DelphinPRO пишет:
Для начала сюда - https://www.opennet.ru/docs/RUS/smart_question/

Cпасибо за направление к такому чудесному гайду.

Подскажите теперь пожалуйста ответ на мой вопрос. Буду очень признателен Улыбка
 
 Top
esterio
Отправлено: 19 Ноября, 2015 - 14:39:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


Помог: 127 раз(а)




winddancer
В том то и дело, что Ваш вопрос не совсем понятен. Приведите пример
 
 Top
winddancer
Отправлено: 19 Ноября, 2015 - 14:49:25
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




esterio пишет:
winddancer
В том то и дело, что Ваш вопрос не совсем понятен. Приведите пример


Прошу тогда прощение.

Смотрите. Хочу вбить в табло мускла слово [ECHO_NEWS]

Когда php открывает страницу и видит вот такое сочетание символов в квадратных скобках - он подключает функцию echo_news(); вместо этих символов.

Сама функция будет находится в файле functions.php

В ней так же имеется и функционал по выводу информации на страницу и прочее.
 
 Top
winddancer
Отправлено: 20 Ноября, 2015 - 10:24:03
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




Ну что, люди. Есть кто?
Пытался сравнять вместилище ячейки мускла с переменной. Но они не сравниваются ничерта.
 
 Top
andrewkard
Отправлено: 20 Ноября, 2015 - 10:35:14
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




winddancer пишет:
вместо этих символов.

в коде просто напишите
winddancer пишет:
echo_news();
 
 Top
vintag
Отправлено: 20 Ноября, 2015 - 10:38:11
Post Id



Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




winddancer пишет:
Ну что, люди. Есть кто?
Пытался сравнять вместилище ячейки мускла с переменной. Но они не сравниваются ничерта.

пшп пытается исполнить функцию вместо того чтобы вывести ее? а она как бы в строке находится? но это же не возможно! А?! Радость
чекнутый сервак.....
раз такое дело закодируй символы, а потом уже на джавке раскодируй и выведи нормально
или их часть
больше наверное ничего нельзя сделать, ну еще может обратный слеш подставить чтобы игнорило
 
 Top
DelphinPRO
Отправлено: 20 Ноября, 2015 - 10:47:05
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




вытаскиваете из БД свой текст, прогоняете его через preg_replace_callback()

PHP:
скопировать код в буфер обмена
  1. $content = queryFromDB();
  2.  
  3. preg_replace_callback('\[([A-Z_]+)\]', function($matches){
  4.    $functionName = $matches[1];
  5.    if (function_exists($functionName)) {
  6.         call_user_func($functionName);
  7.    }
  8. }, $content);

(Добавление)
Ну еще добавите замену паттерна на результат функции (return результата)

(Отредактировано автором: 20 Ноября, 2015 - 10:47:31)



-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
winddancer
Отправлено: 20 Ноября, 2015 - 10:51:23
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




andrewkard пишет:
winddancer пишет:
вместо этих символов.

в коде просто напишите
winddancer пишет:
echo_news();



Смотрите. Если было так легко - я бы сделал уже.

Ситуация следующая. Админка моя висит на php файлах. С выводом функций проблем не имеется(в том числе и подключением).
Другая сторона монеты - клиентская часть. Все страницы ее держатся на MySQL.
Вот и требуется интересная реализация, так как такой в гугле я не нашел(убил вчера весь вечер и сегодня утром еще не мало).

Требуется вбить в ячейку "слово" и когда "if" видит такое слово, тогда он его интерпретирует в php код, убирая само слово(но не удаляя его с ячейки, так как потом еще будут обращаться к ней), а вместо него высвечивая результат функции.


С учетом того, что с MySQL выходит только html код, а каждый раз засовывать все функции в MySQL это не то, что хочется получить в итоге - получилось такое интересное задание.
 
 Top
andrewkard
Отправлено: 20 Ноября, 2015 - 13:21:17
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Два раза прочитал, ничего не понял Не понял
winddancer пишет:
Требуется вбить в ячейку "слово"

В ячейку базы?
winddancer пишет:
и когда "if" видит такое слово

Где будет этот IF, в php файле?
winddancer пишет:
С учетом того, что с MySQL выходит только html код

т.е. у Вас весь <html> код целиком в таблице БД лежит?
 
 Top
winddancer
Отправлено: 20 Ноября, 2015 - 22:47:42
Post Id



Гость


Покинул форум
Сообщений всего: 105
Дата рег-ции: Март 2013  


Помог: 0 раз(а)




andrewkard пишет:
Два раза прочитал, ничего не понял Не понял
winddancer пишет:
Требуется вбить в ячейку "слово"

В ячейку базы?
winddancer пишет:
и когда "if" видит такое слово

Где будет этот IF, в php файле?
winddancer пишет:
С учетом того, что с MySQL выходит только html код

т.е. у Вас весь <html> код целиком в таблице БД лежит?


Пока-что пытаюсь реализовать тот код, который дал товарищь DelphinPRO, но безрезультатно.

Смотрите. Хочу, чтобы когда я вставил через INPUT в базу данных(таблица, которая отвечает за страницы) "некое слово"(Например [ECHO NEWS]), php его "ловил" и при формировании html страницы он вместо него вставлял функцию echo_news(); которая находится в файле function.php

Вывод информации из таблицы опять же определяется функцией echo_text(); в файле function.php

Вот в Ucoz есть такая похожая фишка(или когда-то было), когда вводишь в "[]" некое определенное слово - подключается некий необходимый модуль вместо такого слова в скобках.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB