Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Почему не работает trim()
segazav  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 245
Пользователь №: 24647
На форуме: 6 лет, 1 месяц, 2 дня
Карма:




Всем доброго вечера!

Не могу понять почему не срабатывает функция trim()???

Вот мой пример обработки, нужно удалить не нужные символы из конца и начала строки заголовка:

$_POST['zagolovok'] = trim($_POST['zagolovok'], ".,:;-+="); // Удаляем не нужные символы в конце и начале строки


Не удаляет не точки, не запятые и т.д.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25980
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 19 дней
Карма: 725

Не курю:
1 год, 2 месяца, 6 дней


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

вот если ваша строка начинается с и заканчивается или "или" с .,:;-+= и именно в этом порядке - она их порежет.

для того чтобы удалить группу не нужных символов, в строке, используют регулярные выражения и preg_replace()

а trim() работает просто

echo trim(' строка ');
echo trim(':строка:',':');
echo trim(',строка,', ',');


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Цитата (Игорь_Vasinsky @ 24.03.2016 - 01:20)
вот если ваша строка начинается с и заканчивается или "или" с .,:;-+= и именно в этом порядке - она их порежет.

Это не так. Код у ТС вполне рабочий. Скорее всего там есть пробелы перед или после этих символов. Проверить просто:
$_POST['zagolovok'] = trim($_POST['zagolovok']);
$_POST['zagolovok'] = trim($_POST['zagolovok'], ".,:;-+=");

И еще, не принято модифицировать суперглобальные массивы. Лучше назначить другую переменную.
$zagolovok = trim($_POST['zagolovok']);
$zagolovok = trim($zagolovok, ".,:;-+=");
Ну и инициализация конечно...


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
segazav  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 245
Пользователь №: 24647
На форуме: 6 лет, 1 месяц, 2 дня
Карма:




Да, действительно!!!!
Так заработало!
Оказывается "вот где враг сидел")

$_POST['zagolovok'] = trim($_POST['zagolovok']);
$_POST['zagolovok'] = trim($_POST['zagolovok'], ".,:;-+=");


Думал реально не обойтись без регулярного выражения :huh:
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
inpost  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Помагите Здесь живу!!!
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 22688
Пользователь №: 20039
На форуме: 6 лет, 11 месяцев, 26 дней
Карма: 599




segazav
А ты попробуй в список добавить ещё пробел, может и одного trim хватит.


--------------------
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
segazav  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Абориген
*****

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 245
Пользователь №: 24647
На форуме: 6 лет, 1 месяц, 2 дня
Карма:




В смысле пробелы с двух сторон строки?
Так, что ли?

$_POST['zagolovok'] = trim($_POST['zagolovok'], " .,:;-+= ");
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15559
Пользователь №: 6543
На форуме: 8 лет, 2 месяца
Карма: 299

Трезвый :
5 лет, 11 месяцев, 10 дней


Одного хватит)) Только лучше тогда уж так:
$_POST['zagolovok'] = trim($_POST['zagolovok'], " \t\n\r\0\x0B.,:;-+=");


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

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Zzepish  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Аццкая хрень
******

Профиль
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 5475
Пользователь №: 32538
На форуме: 4 года, 6 месяцев, 7 дней
Карма: 49




segazav
да


--------------------
Правда тоже ложь, но с иным углом.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса