Автор Тема: отрезать текст  (Прочитано 2911 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
отрезать текст
« : 30 Мая 2005, 12:10:29 »
Здравствуйте!

Помогите пожалуйста с отсеканием последних букв в слов. Кажется, все правильно написано, но отрезает только последнюю букву.
Мне надо отрезать от слова окончание "ого" или "ему", но что-то не получается

$word=\'белого\';
if (strlen($word)>=6) {
    $word=eregi_replace("[\'ему\'|\'ого\']$", \'\', $word);
}
echo $word;

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
отрезать текст
« Ответ #1 : 30 Мая 2005, 13:49:55 »
зачем там квадратные скобки?
зачем там кавычки?

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
отрезать текст
« Ответ #2 : 30 Мая 2005, 21:44:02 »
если кавычки и скобки убрать, то он просто заменяет текст везде в слове, а не только в конце

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
отрезать текст
« Ответ #3 : 30 Мая 2005, 22:45:06 »
А если preg_replace("(ему|ого)( |.|,)""$2",$word)?

Оффлайн RelaX

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 200
  • +0/-0
  • 0
    • Просмотр профиля
отрезать текст
« Ответ #4 : 30 Мая 2005, 22:53:50 »
решил свою проблему, вот функция, которая отрезает окончания у слов

function cut_end_word($word){
//функция отрезания окончания слова, минимальная длина слова 4 символа, если меньше, то не отрезаем
        
if (strlen($word)>=6) {
            
//удалим окончания прилазательных, существительных
          # $word=preg_replace(\'/(.*)(?:у|е|ы|а|о|э|я|и|ю|ого|ому|ая|ое|ую|ой|ым)$/\', "\\\\1",$word);
           
if (preg_match(\'/(.*)(?:ого|ому|ему|ая|ое|яя|ую|ой|ым|им)$/\', $word, $m)) {
              $word=$m[1];
           }
           else if (preg_match(\'/(.*)(?:у|е|ы|а|о|э|я|и|ю)$/\', $word, $m)) {
              $word=$m[1];
           }
        }
        elseif (strlen($word)==5) {
            //удалим окончания прилагательных женского рода, существительных
           if (preg_match(\'/(.*)(?:ая|ое|ую|яя|ой|ым|им)$/\', $word, $m)) {
              $word=$m[1];
           }
           else if (preg_match(\'/(.*)(?:у|е|ы|а|о|э|я|и|ю)$/\', $word, $m)) {
              $word=$m[1];
           }
        }
        elseif (strlen($word)==4) {
            //удалим окончания существительных
           if (preg_match(\'/(.*)(?:у|е|ы|а|о|э|я|и|ю)$/\', $word, $m)) {
              $word=$m[1];
           }
        }
   return $word;
}

 

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