Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Не получили
письмо с кодом активации
?
1 час
1 день
1 неделя
1 месяц
Навсегда
Новости:
Начало
Помощь
Поиск
Календарь
Вход
Регистрация
Forum Webscript.Ru
»
Программирование
»
PHP
»
echo -> return
« предыдущая тема
следующая тема »
Печать
Страницы: [
1
]
Вниз
Автор
Тема: echo -> return (Прочитано 4394 раз)
0 Пользователей и 1 Гость просматривают эту тему.
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
:
12 Июля 2002, 11:24:07 »
Есть функция, которая что-то echo; Во что ее надо заключить, чтоб в результате получился return?
function
ech
()
{
echo
“123”
;
}
echo
“4444 ”
.
ech
().
” 5555”
;
очень бы хотелось в результате увидеть “4444 123 5555”
Думал получится
echo
“4444 ”
.
ob_start
().
ech
().
ob_get_contents
().
ob_end_clean
().
” 5555”
;
но ob_start() возвращает ‘1’; Которая вылазит совершенно не в тему в самом начале.
Записан
GotZfild
Универсал
Старожил
Сообщений: 456
+0/-0
2
echo -> return
«
Ответ #1 :
12 Июля 2002, 12:10:32 »
А почему не воспользоваться return?
function
ech
() {
return
"123"
;
}
Записан
После трех дней без программирования жизнь становится бессмысленной.
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
Ответ #2 :
12 Июля 2002, 12:17:31 »
Потому что функция ech() используется в других местах и должна делать именно echo;
А в этом месте надо именно return
Записан
GotZfild
Универсал
Старожил
Сообщений: 456
+0/-0
2
echo -> return
«
Ответ #3 :
12 Июля 2002, 12:29:23 »
function
ech
(
$return
=
0
) {
$str
=
"123"
;
if (
$return
) return
$str
;
echo
"123"
;
}
Записан
После трех дней без программирования жизнь становится бессмысленной.
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
Ответ #4 :
12 Июля 2002, 12:34:45 »
Увы, но функцию ech менять нельзя
(
Записан
GotZfild
Универсал
Старожил
Сообщений: 456
+0/-0
2
echo -> return
«
Ответ #5 :
12 Июля 2002, 12:39:33 »
ob_start
();
ech
();
$content
=
ob_get_contents
();
ob_end_clean
();
echo
"4444 "
.
$content
.
" 5555"
;
Записан
После трех дней без программирования жизнь становится бессмысленной.
Меняздесьдавнонет
новичЕк
Глобальный модератор
Ветеран
Сообщений: 5698
+0/-0
2
echo -> return
«
Ответ #6 :
12 Июля 2002, 14:33:58 »
Как выяснилось, этому чудику надо было всего лишь
echo “4444 ”;
ech();
echo ” 5555”;
Записан
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
Ответ #7 :
12 Июля 2002, 15:07:18 »
Надо было вовсе не это. Но раз ничего другого предложить не можешь, то подойдет и это.
Записан
Меняздесьдавнонет
новичЕк
Глобальный модератор
Ветеран
Сообщений: 5698
+0/-0
2
echo -> return
«
Ответ #8 :
12 Июля 2002, 15:18:38 »
тут тебе помогут
Записан
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
Ответ #9 :
12 Июля 2002, 15:30:45 »
2
RomikChef
: по-моему кто-то себя бестактно ведет.
Записан
Меняздесьдавнонет
новичЕк
Глобальный модератор
Ветеран
Сообщений: 5698
+0/-0
2
echo -> return
«
Ответ #10 :
12 Июля 2002, 15:40:54 »
Да.
Этот кое-кто отнимает кучу времени у кучи народу как минимум на двух форумах только потому, что его, видете ли, ломает писать в столбик и непременно хочется в строчку.
Записан
advocat
Завсегдатай
Пользователь
Сообщений: 73
+0/-0
0
echo -> return
«
Ответ #11 :
15 Июля 2002, 15:48:24 »
А в столбик то лучше. тем более потом с кодом проще разбираться. да и пробелы лишними почти небывают !
Записан
заходите в гости
адвокат, это не профессия, это диагноз ! [ обитаю в PHP ]
Foshvad
Фанат форума
Старожил
Сообщений: 307
+0/-0
0
echo -> return
«
Ответ #12 :
17 Июля 2002, 15:33:21 »
Проблема решить таки удалось:
[[somefunction(\'param\')]] заменяется на
$tpl
[
$template
] =
str_replace
(\
'[[\',\'".echo2return(\\\'\',$tpl[$template]);
$tpl[$template] = str_replace(\']]\',\'\\\')."\',$tpl[$template]);
а в
function
echo2return
(
$string
)
{
extract
(
$GLOBALS
);
$string
=
str_replace
(\
'\\"\',\'"\',$string);
ob_start();eval("echo $string;");$contents=ob_get_contents();ob_end_clean();
return $contents;
}
В "столбик" это записать было нельзя, так как обрабатывается это eval\'ом в шаблоне, да и такие функции, как print_r изменять чтоб они return вместо echo явно не стоило
Записан
Печать
Страницы: [
1
]
Вверх
« предыдущая тема
следующая тема »
Forum Webscript.Ru
»
Программирование
»
PHP
»
echo -> return
Sitemap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28