Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обработка массива строк 
:(
    Опции темы
HeaRtLy
  Дата 23.5.2004, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 29.2.2004
Где: Мск, Россия

Репутация: нет
Всего: нет



Есть массив строк. Требуется:
1. Выкинуть пустые строки
2. Вырезать четыре последних слога каждой строки, поместив их в новый массив.
Как?
PM WWW ICQ   Вверх
Dr.Death
Дата 23.5.2004, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



Цитата

2. Вырезать четыре последних слога каждой строки, поместив их в новый массив.

Четыре последниз слога чего, слова?



--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
Soldier of Fortune
Дата 23.5.2004, 20:56 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Может 4 последних слоВа ???
  Вверх
arial
  Дата 23.5.2004, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 772
Регистрация: 11.3.2003
Где: Архангельская обл .

Репутация: 6
Всего: 7



Цитата(HeaRtLy @ 23.5.2004, 19:35)
Есть массив строк. Требуется:
1. Выкинуть пустые строки

Код
$array = Array(
   'word1',
   'word2',
   '',
   'word3',
   '',
   'word4',
   );

for ($i = 0; $i < sizeof($array); $i++) {
   $array[$i] = trim($array[$i]);
   if (strlen($array[$i]) == 0) {
       unset($array[$i]);
   }
}



--------------------
Есть люди, в которых живет Бог. Есть люди, в которых живет дьявол. А есть люди, в которых живут только глисты. (Ф. Раневская)
PM ICQ   Вверх
HeaRtLy
Дата 23.5.2004, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 29.2.2004
Где: Мск, Россия

Репутация: нет
Всего: нет



Dr.Death
Soldier of Fortune
Нет, именно слога. Четыре последних слога от строки, даже если они в нескольких словах.

arial
Спасибо smile.gif
PM WWW ICQ   Вверх
Secandr
Дата 23.5.2004, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



HeaRtLy А вы представляете как слово на слога разбить? Я лично плохо, у меня 2 по русскому sad.gif
Подскажите правило.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Dr.Death
Дата 24.5.2004, 05:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



Secandr
Вот как, на примерах, есть слово молоко - будет по слогам мо-ло-ко. Есть слово мама, будет по слогам ма-ма. Есть слово отличник - будет от-лич-ник.
з.ы. Разбить слово по слогам достаточно трудная задача IMHO



--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
HeaRtLy
Дата 24.5.2004, 09:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 29.2.2004
Где: Мск, Россия

Репутация: нет
Всего: нет



Требуется отделить четыре последних гласных + ещё одна согласная. Не строгое разбитие, а примерное.
PM WWW ICQ   Вверх
VVp
Дата 24.5.2004, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 29.4.2004

Репутация: нет
Всего: нет



$glasnye=explode(":","а:е:и:о:у:ы:э:ю:я"); //можно еще большие буквы добавить
$flag=0;
$pos=strlen($stroka)-1;
while(($flag!=4)&&($pos>0)) {
$symbol=substr($stroka,$pos--,1);
foreach ($glasnye as $i=>$k) if ($symbol==$k) $flag++;
}

$newstr=substr($stroka,0,$pos);

Вот примерно так, не проверял, что-то мог напутать.
Можно еще перед последней строкой проверять не является ли предыдущая буква согласной и если да, вырезать и ее.
А вообще чтобы написать корректно работающий алгоритм(в смысле русского языка), нужен как минимум филолог. А то встречаются всякие слова с 3-мя гласными или уж не помню сколько согласных подряд бывает, там вобще хрен разбери где слог начинается.
PM MAIL   Вверх
Secandr
Дата 24.5.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 5
Всего: 39



Dr.Death Дело в том, что со слогами в русском туго, есть очень интересные слова, на подобии фамилии Мкртчан smile.gif


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
HeaRtLy
Дата 29.5.2004, 01:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 29.2.2004
Где: Мск, Россия

Репутация: нет
Всего: нет



Вот такое счастье получилось у меня для одной строчки. На скорую руку. Относительно прилично отрезает мне куски строк для последующей обработки.
Код
<html>
<head>
</head>
<body>
<?
$ae=0; /*Переменная про гласные. Счётчик.*/
for($i=strlen($text)-1;$i>=0;$i--){
  if(strchr('аеёиоуыэюяАЕЁИОУЫЭЮЯ',$text[$i])) $ae++;
  if($ae>4) break;
}
print substr($text,$i+1);
?>
<form action='end4.php'>
<input type=text name=text>
<input type=submit>
</form>
</body>
</html>


Это сообщение отредактировал(а) HeaRtLy - 29.5.2004, 01:48
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.