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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Регулярка

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
armancho7777777 Супермодератор
Отправлено: 27 Января, 2012 - 17:45:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Всем привет!
В регулярке слаб.
Подскажите пожалуйста,

как из адреса, полученного из ссылки (хотя это не важно), вырезать всё до числа, как при его наличии...

http://site[dot]ru/Каталог/Поиск_по_артикулу/2356
http://site[dot]ru/Каталог/Поиск_по_артикулу/2356/

... так и без него:

http://site[dot]ru/Каталог/Поиск_по_артикулу
http://site[dot]ru/Каталог/Поиск_по_артикулу/

,... с учётом возможного слеша после него, которого может и не быть)

Надо на выходе получить следующий адрес:

http://site[dot]ru/Каталог/Поиск_по_артикулу
(Добавление)
Ну куда все гуру подевались а Улыбка

(Отредактировано автором: 27 Января, 2012 - 18:00:40)

 
 Top
EuGen Администратор
Отправлено: 27 Января, 2012 - 18:35:44
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




PHP:
скопировать код в буфер обмена
  1. $sUrl=preg_replace('/^(http\:\/\/site\.ru\/.*\/\.*)(\/|\/\d+|)$/Ui', '$1', $sUrl);


?

Хотя нет, раздел же про JS.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Января, 2012 - 18:48:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Спасибо, конечно же, EuGen,
но меня интересует, как это реализовать с помощью JS ))
Наверное не обратили внимание на название раздела?))
 
 Top
EuGen Администратор
Отправлено: 27 Января, 2012 - 18:52:19
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Да, верно - я уже поправил.
Но суть почти не меняется. Предлагаю Вам сделать простейшее преобразование в нужный вид с помощью
http://javascript[dot]ru/basic/regul[dot][dot][dot]n#zamena-replace

- ведь проблема, как я понял, была именно с самим выражением.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Января, 2012 - 18:56:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




EuGen пишет:
я уже поправил.
Где )
 
 Top
EuGen Администратор
Отправлено: 27 Января, 2012 - 18:57:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




EuGen пишет:
Хотя нет, раздел же про JS

Имелось ввиду это.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Января, 2012 - 19:05:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




А как получить, всё, что после числа?
(Добавление)
EuGen пишет:
предлагаю Вам сделать простейшее преобразование в нужный вид с помощью
Не получается у меня.

(Отредактировано автором: 27 Января, 2012 - 19:15:46)

 
 Top
EuGen Администратор
Отправлено: 27 Января, 2012 - 19:23:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Так Вы уж определитесь. Цифры Вам нужны или основной url - как Вы указали в первом сообщении темы.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
armancho7777777 Супермодератор
Отправлено: 27 Января, 2012 - 19:41:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Мне надо из адреса получить это:
http://site[dot]ru/Каталог/Поиск_по_артикулу
Просто подумал получить всё что после числа (число включительно),
и потом вырезать результат с помощью str.replace().


Сделал тапорно, но работает:
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function url_replace(str, el){
  3.  
  4.   if(el == null){
  5.         el = 3;    
  6.   }else{
  7.         el = el + 2;  
  8.   }
  9.  
  10.   str = str.replace(/[/]+$/g, '');
  11.   var newStr = str;
  12.   var newStrArr = str.split('/');
  13.   var count = newStrArr.length;
  14.  
  15.   for(var i = 0; i < count; i++){
  16.         if(newStrArr[el]){
  17.           str = str.replace('/'+newStrArr[el], '');
  18.           newStrArr = str.split('/');
  19.         }
  20.   }
  21.  
  22.   return str;
  23.  
  24. }
  25.  
  26. var str = 'http://site.ru/Каталог/Поиск_по_артикулу/2356/2356/2356/2356/2356/2356/2356/';
  27.  
  28. document.write('Адрес: '+url_replace(str, 3)); // 'http://site.ru/Каталог/Поиск_по_артикулу
  29.  


Просто время поджимает.
Кто подскажет лучший способ(а он точно есть) буду примного благодарен Улыбка

(Отредактировано автором: 27 Января, 2012 - 20:18:00)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB