Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Убрать сдвоенные слова

Сообщения:  [1-10]   [11-13] 

 
 автор: Drago   (19.03.2006 в 04:28)   письмо автору
 
   для: Shorr Kan   (18.03.2006 в 10:56)
 

Если регулярные выражения не подходят, можно применить эту функцию

<?php
$str
="lalala tutut lalala lalala lalala turtre";
function 
del_double_words ($str)
{
    
$array explode (" "$str);
    
$str_new "";
    foreach (
$array as $key => $word)
    {
      if (
$word == $array[$key 1])
        unset (
$array[$key]);
      else
        
$str_new .= $word " ";
    }
    return 
trim ($str_new);
}
echo 
del_double_words ($str);
?>

   
 
 автор: cheops   (18.03.2006 в 12:52)   письмо автору
 
   для: kasmanaft   (18.03.2006 в 11:03)
 

Да скорее всего нельзя... я с самого начала хотел написать невозможно, но потом что-то дёрнуло написать вариант... больше ничего конструктивного в голову не лезет :)))

   
 
 автор: kasmanaft   (18.03.2006 в 11:03)   письмо автору
 
   для: Shorr Kan   (18.03.2006 в 10:56)
 

возможно :)
я тоже в них не особо шарю :) нужно услышать мнение cheops...

   
 
 автор: Shorr Kan   (18.03.2006 в 10:56)   письмо автору
 
   для: kasmanaft   (18.03.2006 в 10:28)
 

А я уже уверился, что они всесильны....

   
 
 автор: kasmanaft   (18.03.2006 в 10:28)   письмо автору
 
   для: Shorr Kan   (18.03.2006 в 03:49)
 

исправить ошибку можно так:
<?php
$str
="lalala tutut lalala lalala lalala turtre";
$pattern "/([\w]+ ){2,}/";
$str preg_replace($pattern"lalala "$str);
echo 
$str;
?>


но под это рег. выр-е подойдут все слова.... а не только одинаковые...
а вот как сделать только одинаковые я сказать не могу... по-моему, рег. выражением тут не обойтись...

   
 
 автор: Shorr Kan   (18.03.2006 в 03:49)   письмо автору
 
   для: cheops   (17.03.2006 в 23:02)
 

Warning: preg_replace(): Unknown modifier '{'

   
 
 автор: cheops   (17.03.2006 в 23:02)   письмо автору
 
   для: Shorr Kan   (17.03.2006 в 21:10)
 

Ну вероятно как-то так
<?php 
$str
="lalala tutut lalala lalala lalala turtre";
$pattern "([\w]+ ){2,}"
$str preg_replace($pattern"lalala "$str); 
echo 
$str
?>

   
 
 автор: Shorr Kan   (17.03.2006 в 21:10)   письмо автору
 
   для: Shorr Kan   (17.03.2006 в 20:31)
 

А можно, из чистого любопытства - ВСЕ сдвоенные слова?

   
 
 автор: Shorr Kan   (17.03.2006 в 20:31)   письмо автору
 
   для: kasmanaft   (17.03.2006 в 19:52)
 

А есть особая разница? Что там ногу свернешь, что там...

Спасибо

   
 
 автор: kasmanaft   (17.03.2006 в 19:52)   письмо автору
 
   для: Shorr Kan   (17.03.2006 в 13:57)
 

если всегда lalala, то можно так:

<?php
$str="lalala tutut lalala lalala lalala turtre";
$pattern = "(lalala ){2,}";
$str = ereg_replace($pattern, "lalala ", $str);
echo $str;
?>

(опять же рег. выр-е php, т.к. не силен в perl)

   

Сообщения:  [1-10]   [11-13] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования