ereg(); - функция

neonet

Новичок
ereg(); - функция

Никак не могу найти как задать правильно атрибуты.. чтоб в переменной содержались только цифры... если в переменной ещё и буквы.. то функция просто выкидывала бы из переменой буквы оставляя только цыфры.. помогите плиз!
 

.des.

Поставил пиво кому надо ;-)
Используйте preg_replace
[^0-9]+ - все что не цифры
 

neonet

Новичок
у меня всё время ошибки вылазиют... напиши пример

-~{}~ 18.11.05 03:56:

$search="[^0-9]";
$replacements="";
$art=preg_replace($search,$replacements,$art);

и всё равно он пропускает буквы!
 

white phoenix

Новичок
PHP:
$string = "48 попугаев, 8 слонов и 22 обезьяны";
$string = preg_replace("@[^0-9]@si",NULL,$string);
echo $string; // 48822
 

.des.

Поставил пиво кому надо ;-)
только replacement на NULL это еще зачем.
NULL != ""
 

white phoenix

Новичок
neonet
не стоит.
.des.
это уже вопросы оформления. я знаю что NULL !== "", но NULL == "".
sage
да
 

.des.

Поставил пиво кому надо ;-)
Автор оригинала: white phoenix
это уже вопросы оформления. я знаю что NULL !== "", но NULL == "".
При чем тут вопросы оформления?
Это просто неправильно. Вы работаете со строкой. Какое именно имеет значение NULL нам неизвестно и не должно волновать.
Объясните мне смысл операции $s = "abc".NULL;
 

white phoenix

Новичок
Да, мы работаем со строкой. В данном случае нужно передать аргумент со strlen() == 0, мы его передаем, так в чем же дело? > Какое именно имеет значение NULL нам неизвестно и не должно волновать.
Ошибаетесь.
> Объясните мне смысл операции $s = "abc".NULL;
отправляйтесь учить синтаксис :) если сами не понимаете
 

.des.

Поставил пиво кому надо ;-)
В php NULL это не пустая строка, а совершенно отдельный тип данных.

Вот Вам прямые ссылки:
NULL в PHP
Что часто понимается под NULL в языках программирования
NULL в SQL

Теперь внимательно смотрим на signature функции preg_replace:
PHP:
mixed preg_replace( mixed pattern, mixed replacement, mixed subject [, int limit [, int &count]] )
replacement The string or an array with strings to replace.

Где вы тут увидели NULL? PHP автоматически сконвертит NULL в пустую строку, но смысла от этого не прибавляется.
отправляйтесь учить синтаксис если сами не понимаете
Куда мне пойти, я разберусь сам.
Если даете советы, убедитесь что они 100% верны или хотя бы сделайте уточнение, что не уверены.
 

white phoenix

Новичок
> PHP автоматически сконвертит NULL в пустую строку
именно. не говорите мне что делать, и я не скажу Вам куда идти
 

SiMM

Новичок
>> PHP автоматически сконвертит NULL в пустую строку
> именно
Тогда почему бы не
PHP:
$string = preg_replace("@[^0-9]@si",false,$string);
?
Должна же быть какая-то логика в действиях.
 

.des.

Поставил пиво кому надо ;-)
2 white phoenix я не комментирую Ваш корявый код :)
Просто не давайте новичкам свои неверные ответы.
Для особо упорствующих в этом направлении на этом форуме есть read only :)
 

SiMM

Новичок
> потому что FALSE - boolean.
Но ведь то, что NULL - не string - тебе абсолютно не мешает.
 
Сверху