|
|
|
| Объяснить не смогу - дам пример:
$text = 'name;family;blablabla';
$text = preg_replace ( '#([a-z;]+)#iu' , function('$1') , $text )
function ( $settings )
{
$explode = explode(';', $settings);
return $explode [ 0 ];
}
|
Если я пишу (т.е. переменная $text будет иметь значение):
то мне будет выведено функцией не первое значение, т.е.:
а вся строка, т.е.:
Если пишу функцию таким образом:
function ( $settings )
{
$explode = explode(';', $settings);
return $explode [ 1 ];
}
| то она мне вообще ничего не выводит! Т.е. я так понял, что не работает именно $explode = explode(';', $settings);, но почему, понять не могу.
Почему???
P.S. Сам лично грехом думаю на preg_replace. Что-то он странно передаёт значение видимо функции. | |
|
|
|
|
|
|
|
для: Maxam
(23.08.2010 в 00:04)
| | Вы бы проверили пример, перед тем, как постить... | |
|
|
|
|
|
|
|
для: Trianon
(23.08.2010 в 09:04)
| | Видил бы ошибку сам - не "постил" бы! | |
|
|
|
|
|
|
|
для: Trianon
(23.08.2010 в 09:04)
| | Если ты про то, что нет имени для функции - это опечатка. Имя есть! | |
|
|
|
|
|
|
|
для: Maxam
(23.08.2010 в 00:04)
| | ? | |
|
|
|
|
|
|
|
для: Maxam
(23.08.2010 в 23:02)
| | понятно... значит Вы предпочитаете такой стиль...
Окей.
тогда либо строковый литерал и модификатор e
либо create_function и callback-версия. | |
|
|
|