Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Удаление символов из слова
Форумы портала PHP.SU » » Вопросы новичков » Удаление символов из слова

Страниц (1): [1]
 

1. Foxee - 09 Декабря, 2013 - 19:53:30 - перейти к сообщению
Здравствуйте.

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


Вот мой код:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $name = preg_replace("/[^а-яa-z]/i","",(string)$_POST['name']);
  3. echo('Слово: '.($name));
  4. ?>


CODE (html):
скопировать код в буфер обмена
  1. <form action='pr4.php' method='POST'>
  2. <textarea rows='10' name='name'></textarea>
  3. <input type='submit' value='Перевірити'>
  4. </form>
2. Foxee - 09 Декабря, 2013 - 23:50:44 - перейти к сообщению
Есть кто?
3. tato - 10 Декабря, 2013 - 00:35:46 - перейти к сообщению
Дайте пример строки и что должно получится.
4. Foxee - 10 Декабря, 2013 - 00:47:38 - перейти к сообщению
tato, напрмиер ввожу слово "Максим", то должно выдать результат Маим (тоесть два символа из середины вырезать), если ввожу "Мак", то получится Мк.
5. Master._pascal - 10 Декабря, 2013 - 04:03:26 - перейти к сообщению
субстром за шес сек
6. tato - 10 Декабря, 2013 - 06:46:30 - перейти к сообщению
Foxee пишет:
если у слова не парное количество символов , то удаляет два символа в середине.

Foxee пишет:
слово "Максим", то должно выдать результат Маим (тоесть два символа из середины вырезать)


Стало только хуже. Объясните что значит "не парное" тогда. Вы имеете ввиду четное не четное? Удалять всегда два символа или в зависимости от длины слова? Сформулируйте нормально задание.
7. VenZell - 10 Декабря, 2013 - 07:20:29 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $input = array('Semen', 'Maksim');
  2. $output = array();
  3. foreach ($input as $str) {
  4.    $length = mb_strlen($str);
  5.    if(($length % 2) === 0) {
  6.       $output[] = substr_replace($str, '', ($length / 2) - 1, 2);
  7.    } else {
  8.       $output[] = substr_replace($str, '', floor($length / 2), 1);
  9.    }
  10. }
  11. print_r($output);
  12.  
  13. /* Array ( [0] => Seen [1] => Maim ) */
8. Foxee - 10 Декабря, 2013 - 12:30:19 - перейти к сообщению
VenZell, спасибо.

 

Powered by ExBB FM 1.0 RC1