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

> Как сделать парс строки и...
Til_Seier  
 ۩  Дата
Цитировать сообщение

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



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 24
Пользователь №: 42746
На форуме: 8 месяцев, 7 дней
Карма:




Всем привет
Задание не очень сложное но я не совсем понимаю, как ето сделать правильно?

В общем мне нужно сделать парс который сможет например с этой строки:

ячячфs!@#$%^&*()_+gasd kjhkо23 23:(@!*)$*!@7 85972івлпофа ываывмр%:?12


сделать этоую:
ячячфs_gasd-kjhkо23-237-85972івлпофа-ываывмр12


Помогите мне пожалуйста)

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

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



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев
Карма: 70




Нужно удалить всё кроме букв, цыфр, дефиса и подчёркивания?


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

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



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев
Карма: 70




$text = 'ячячфs!@#$%^&*()_+gasd             kjhkо23     23:(@!*)$*!@7        85972івлпофа        ываывмр%:?12';
$text = preg_replace('|([^a-zа-яё0-9_-])+|ui', '-', $text);
echo $text;


--------------------
:)
PMСайт пользователя
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

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



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




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

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



146%
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 2102
Пользователь №: 27172
На форуме: 5 лет, 8 месяцев
Карма: 70




killer8080
Я так понял он хочет кракозябру !@#$%^&*() заменить дефисами, типа фильтр.


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

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



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8733
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев
Карма: 591




Цитата (Arh @ 20.09.2016 - 21:17)
Я так понял он хочет кракозябру !@#$%^&*() заменить дефисами

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

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



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 24
Пользователь №: 42746
На форуме: 8 месяцев, 7 дней
Карма:




Всем кто помогал огромное спасибо)
Разобрался с этим
Функция которую я написал на javascript:

function fetch_name(str){
var char = '-';
str = str.substr(0,200);
str = str.trim();
var ars = str.replace(/[^-_x\.а-яА-Яa-zA-Z0-9Ёё ]/gi,'').replace(/\s+/gi,char).replace(/\.+/gi,char).replace(/\x+/gi,'x').replace(/\-+/gi,char).toLowerCase();
var last = ars.length - 1;
if(ars.charAt(last) == char)
ars = ars.slice(0, -1);
if(ars.charAt(0) == char)
ars = ars.slice(1);

return ars;
}



В ВордПрессе когда создается например пост, эсть поле для ввода имени для поста, и с этого имени формируется сылка

user posted image

вот для чего мне был нужен этот парс)
Возможно кому то он пригодится)

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

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

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