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 :: preg_replace help!

 PHP.SU

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


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

> Без описания
alexiy
Отправлено: 11 Декабря, 2013 - 15:17:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




есть строка

/test/gender/titel/name-name/

как используя preg_replace получить name-name?
 
 Top
Мелкий Супермодератор
Отправлено: 11 Декабря, 2013 - 15:23:00
Post Id



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


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


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




Именно эта строка?
basename


-----
PostgreSQL DBA
 
 Top
alexiy
Отправлено: 11 Декабря, 2013 - 15:24:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




Мелкий
мне все же больше нужен пример с регуляркой и preg_replace
 
 Top
DelphinPRO
Отправлено: 11 Декабря, 2013 - 15:24:42
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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





(Добавление)
Улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
teddy
Отправлено: 11 Декабря, 2013 - 15:26:52
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




preg_replace нужен для замены строки а не для получения
PHP:
скопировать код в буфер обмена
  1. $str = '/test/gender/titel/name-name';
  2. preg_match("/\/test\/gender\/titel\/(name-name)/", $str, $matches);
  3. print_r($matches);

(Отредактировано автором: 11 Декабря, 2013 - 15:28:55)

 
 Top
DelphinPRO
Отправлено: 11 Декабря, 2013 - 15:29:19
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




teddy пишет:
$str = '/test/gender/titel/name-name';preg_match_all("/\/test\/gender\/titel\/(name-name)/", $str, $matches);print_r($matches);


Этот код можно заменить одной-удинственной строкой




Голливудская улыбка


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
teddy
Отправлено: 11 Декабря, 2013 - 15:32:29
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




DelphinPRO
вопрос был как из такой строки получить то name-name(я думаю там может лежать что угодно) + ко всему убрал _all до твоего поста))
 
 Top
alexiy
Отправлено: 11 Декабря, 2013 - 15:34:00
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




teddy в titel тоже может быть все что угодно, name-name тоже может быть все что угодно именно его мне и надо получить
и желательно заменить на $2

(Отредактировано автором: 11 Декабря, 2013 - 15:35:32)

 
 Top
teddy
Отправлено: 11 Декабря, 2013 - 15:39:31
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




alexiy
PHP:
скопировать код в буфер обмена
  1. $str = '/test/gender/titel/name-name';
  2. $str = preg_replace("/\/test\/gender\/(.*?)\/(.*?)/", '$2', $str);
  3. echo $str;

вот так что ли?
 
 Top
alexiy
Отправлено: 11 Декабря, 2013 - 15:40:40
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




teddy
я конечно извиняюсь, но name-name & tiel могут быть только буквами
test = test||model
gender=male || female

(Отредактировано автором: 11 Декабря, 2013 - 15:42:55)

 
 Top
teddy
Отправлено: 11 Декабря, 2013 - 15:46:42
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




alexiy
так только буквами или конкретными значениями? уточните
 
 Top
alexiy
Отправлено: 11 Декабря, 2013 - 15:48:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




teddy
name-name = только буквы, могуть быть например алала-лал
tiel= только буквы
gender= male или female
test = test или model
 
 Top
DelphinPRO
Отправлено: 11 Декабря, 2013 - 15:50:55
Post Id



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


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


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




teddy пишет:
вопрос был как из такой строки получить то name-name(я думаю там может лежать что угодно)

Я к тому, что запись в регулярке /(name-name)/ не подразумевает любую строку Улыбка
написал бы хоть (.*) что ли Улыбка
(Добавление)
alexiy пишет:
name-name = только буквы, могуть быть например алала-лал
tiel= только буквы
gender= male или female
test = test или model

класс, только это нужно было написать в первом посте....

alexiy пишет:
name-name = только буквы, могуть быть например алала-лал

а как-же дефис?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
alexiy
Отправлено: 11 Декабря, 2013 - 16:03:44
Post Id



Посетитель


Покинул форум
Сообщений всего: 483
Дата рег-ции: Янв. 2011  


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




DelphinPRO
быквы-буквы вот это будет name-name
 
 Top
esterio
Отправлено: 11 Декабря, 2013 - 16:43:04
Post Id



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


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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




alexiy пишет:
быквы-буквы

это не буква
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB