Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реглярка - вытащить id ссылки, Регулярное выражение 
V
    Опции темы
sayber
  Дата 13.11.2008, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Добрый день.

Нужно вытащить id из ссылки.

Я пробовал так:

Код

 $row['surl'] = preg_replace('http://host/index.php?newsid=(.*)',  '//1', $row['surl']);



Сама ссылка выглядет так http://host/index.php?newsid=12
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
skyboy
Дата 13.11.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



регулярки, регулярки...
parse_url + explode

Добавлено через 5 минут и 50 секунд
ладно. можно и регуляркой.
вот только
Цитата(sayber @  13.11.2008,  12:02 Найти цитируемый пост)
//1

некорректно. надо либо "$1", либо, если так сильно хочется слешами: "\\1".
кроме того, логику
Цитата(sayber @  13.11.2008,  12:02 Найти цитируемый пост)
 $row['surl'] = preg_replace('http://host/index.php?newsid=(.*)',  '//1', $row['surl']);

можно сделать и через str_replace:
Код

$row['surl'] = str_replace('http://host/index.php?newsid=',  '', $row['surl']);

формат входных данных неясен - только ли newsid  в параметрах, или нет. фиксирован ли путь, или можео меняться.

PM MAIL   Вверх
pirrat
Дата 13.11.2008, 14:30 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.2.2007

Репутация: нет
Всего: нет



если нужно вытащить только сам  id, то можно так

Код

$str = 'http://host/index.php?newsid=12'; //строка из которой нужно вытащить id
$needle = 'newsid='; //строка, после которой идет id, и она постоянно имеет такой вид
echo substr ( strstr ( $str, $needle ), strlen($needle) ); 


Это сообщение отредактировал(а) pirrat - 13.11.2008, 14:36
PM MAIL   Вверх
sayber
Дата 13.11.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



pirrat
Спасибо.

Тему можно закрывать.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0774 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.