Forum Webscript.Ru

Программирование => PHP => Тема начата: clever от 03 Февраля 2004, 14:38:21

Название: Регулярные выражения - пополнение массива
Отправлено: clever от 03 Февраля 2004, 14:38:21
Я совсем не понимаю.
Допустим есть строка $s="Worls PHP Linux Internet Page";
Как написать функцию ereg(), чтобы в массив $arr попали все слова в строке.

Я пишу так ereg("[[:<:]]([[:alnum:]])[[:>:]]", $s, $arr);
Но не работает.
Название: Регулярные выражения - пополнение массива
Отправлено: Yukko от 03 Февраля 2004, 14:44:46
Уууу, батенька... [p]explode[/p] есть такая функция, разбиваешь по пробелам и будет тебе счастье.
Название: Регулярные выражения - пополнение массива
Отправлено: clever от 03 Февраля 2004, 15:39:25
Про explode знаю, а как с помощью ereg() разбить, меня это интересует. Мне главное ereg научиться использовать.
Название: Регулярные выражения - пополнение массива
Отправлено: alezee от 03 Февраля 2004, 16:53:23
Ну ну, может я и не прав, но не всегда нужно использовать регулярки, хотя мне они помогали...
Название: Регулярные выражения - пополнение массива
Отправлено: Макс от 03 Февраля 2004, 17:11:58
clever
во многих случаях функции preg_*() более производительны чем ereg*()
Так что лучше разбирайся с ними
Название: Регулярные выражения - пополнение массива
Отправлено: Yukko от 03 Февраля 2004, 17:19:27
Цитировать
clever:
Про explode знаю

конечно, тебе на PHPclub на две минуты раньше ответили :D вообще, если надо что-то на что-то разбить, используя регулярные выражения, то есть функция:
[p]preg_split[/p]

Нельзя выполнять действия, которые можно выполнить при помощи функций работы со строками при помощи функций, которые работают с РВ.

Цитировать
clever:
Мне главное ereg научиться использовать.

Эта функция работает с РВ по стандарту Posix. ИМХО, в РНР очень мало задач, которые требуют от программиста использование ereg-функций.
Используй perl-совметимые preg-функции для работы с РВ.
А вообще не ereg надо учиться использовать, а учиться работать с РВ, для этого задачки надо поспецифичней и посложней, чем разбить строку по пробелам.