|
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
|
||||||
Написать правило для удаления ненужных символов18.01.2020, 22:12. Показов 3795. Ответов 27
Метки нет (Все метки)
Приветствую вас ребята!
Подскажите как написать правильное правило для удаления ненужных символов из ссылки Есть переменная
вот вид ссылки, но в ней могут быть ненужные символы которые нужно удалить Alybina-Semenkova нужно чтобы удаляло именно вот эти знаки и символы, список. `!@~#№;4$%^&*()_+={}[]'"\|/?<>: знаю есть функция рубит спецсимволы, но она не совсем то что мне нужно, а нужно именно чтобы было правило, чтобы я сам мог там вписать какие символы удалять. желательно с минимальной нвгрузкой на ресурсы сервера.
0
|
||||||
| 18.01.2020, 22:12 | |
|
Ответы с готовыми решениями:
27
удаление ненужных символов в тексте Макрос для удаления ненужных контактов
|
|
Невнимательный
|
|
| 19.01.2020, 17:55 | |
|
Для начала нужно понять используется ли у Вас кодировка urf-8 или какая то другая.
В utf-8 символов намного больше чем в однобайтных кодировках текста. Так же, при попытке прочтения строки как utf-8 , некоторые последовательности байтов являются не валидными... Во вторых, есть два способа сделать это, 1. заменить всё из перечисленного заменяемого 2. заменить всё что не входит в перечисленное незаменяемое. Если имеете дело с utf-8 , то наверное второе, например загляните сюда http://wm-school.ru/html/html_utf_cyrillic.html ... это только символы кирилицы представьте сколько можно перечислять ненужного из всех таких наборов символов... В третьих имя фамилия на разных языках может состоять из абсолютно разных символов возьмите например фамилию Д'артаньян )) -------------------------------------------------------------------------- Насчёт замены пробела на тире, preg_replace() тоже может принимать массивы, например $txt = preg_replace(опять-же неизвестно какие кодировки, неизвестны язык и варианты фамилий типа Римский-Корсаков и строка из 9086 букв А тоже окажется валидной Добавлено через 6 минут Вообще есть два подхода, фильтрация и валидация при первом тупо заменяется всё что сочтётся не нужным, при втором просто проверяется, и не принимается, по каким то причинам, типа требует дать другое Добавлено через 4 минуты и третье , я бы сказал, фильтрационная валидация ![]() типа принимаете данные фильтруете, сравниваете с исходными, и если отличаются показываете результат отправившему. как бы может он согласен на такое переименование, а возможно категорически против и хочет попытаться ещё ))
0
|
|
|
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
|
|||||||||||
| 19.01.2020, 18:32 [ТС] | |||||||||||
|
Мне всего то надо замену сделать пробела на знак -
и -.php на .php желательно вложится в один прогон, чтобы дважды не выполнять функцию для замены пробела на -
хотябы как эти две замены зделать за одно выполнение функции
0
|
|||||||||||
|
Невнимательный
|
|||||||||||
| 19.01.2020, 18:46 | |||||||||||
Сообщение было отмечено serauto79 как решение
Решение
есть куча способов сделать это
text---Бонч-Бруевич--.php<br>Добавлено через 9 минут или имеете ввиду без массивов типа
0
|
|||||||||||
|
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
|
|
| 19.01.2020, 19:04 [ТС] | |
|
Большое спасибо вам.
Добавлено через 2 минуты str_replace(['.php', ' '],['-.php', '-'], $txt) ."<br>\n"; скажите такая конструкция будет искать и двойные пробелы и заменять на - ? Добавлено через 11 минут а чтобы если несколько пробелов, и их заменило на один знак - выражение нужно записать так '[ ]' вместо ' '
0
|
|
|
Невнимательный
|
||||||
| 19.01.2020, 19:16 | ||||||
|
тогда preg_replace )) мне так кажется...
str_replace прямолинейная, даже str_replace([' ', ' ', '.php', ' '],[' ', ' ', '-.php', '-'], $txt)из 7-и пробелов подряд делает -- upd// в первом массиве первые два элеммента - два пробела // выбрал не то выделение кода Добавлено через 10 минут выражение должно быть заключено в ограничители , например ## или // или [] в Вашем примере [] это просто ограничители, как бы '[ +]'понятнее так
0
|
||||||
|
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
|
|
| 19.01.2020, 19:43 [ТС] | |
|
Я таки и не монял, почему этот вариант
echo preg_replace(['#(?<!-)\.php#', '# +#'],['-.php', '-'], $txt) ."<br>\n"; не удаляет - для -.php чтобы вывод в браузере был такой text-Бонч-Бруевич.php
0
|
|
|
Невнимательный
|
|||||||
| 19.01.2020, 20:06 | |||||||
Сообщение было отмечено serauto79 как решение
Решение
0
|
|||||||
|
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
|
|
| 19.01.2020, 20:37 [ТС] | |
|
спасибо, все как надо.
0
|
|
| 19.01.2020, 20:37 | |
|
Как сделать для правило для поля url: адрес строго не содержит последовательность символов /xyz/? Написать процедуру удаления из строки всех кратных символов Правило удаления Удаление ненужных символов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
|
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ
Основная суть и тезисы по измерениям:
0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема.
Объект не может перемещаться в 0D.
1D (Первое измерение):. . .
|
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek
ВВЕДЕНИЕ
Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
|