[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: вырезать кусок стринга.
MatrixGod
всем привет!

есть стринг. мне надо вырезать все что находится между первым встречающимся "/" и вторым "/". стринг может быть абсолютно любой.
все что известно это то что есть 2 "/" между которыми есть определенная информация.

как написать лучше всего? кто подскажет?



Спустя 6 минут, 35 секунд (17.12.2011 - 18:14) pyha_coder написал(а):
всего два?
используй explode('/',$str);
используй preg_match
используй substr в связке strrpos и strpos

Спустя 5 минут, 30 секунд (17.12.2011 - 18:20) pyha_coder написал(а):
можно так

preg_match('#/.*/#iu','asdfasfsfd/00000/asdfasdfasdf',$arr);

var_dump($arr);

$str = explode('/',$str);
var_dump($str);


Как лучше врсеравно решать тебе, я склоняюсь больше к explode

Спустя 2 минуты, 15 секунд (17.12.2011 - 18:22) Игорь_Vasinsky написал(а):
preg_match("#/[^/].*/#iusU", $string, $matches);


echo '<pre>' . print_r($matches, 1) . '</pre>';

Спустя 31 минута, 25 секунд (17.12.2011 - 18:54) MatrixGod написал(а):
ок, а как скажем вырезать строку между двумя разными символами?
скажем, все что после первого "=" и первым после знака "=" двоеточием.
если можно плиз с кратким объяснением, что было понятно что к чему.
а то регулярки не так просто понять.

Спустя 11 минут, 19 секунд (17.12.2011 - 19:05) pyha_coder написал(а):
Через несколько ответов окажеться что нужно что-то еще другое.
Говори конкретно для чего, тогда возможно получишь то что требуеться.

$str = 'привет/чувак:бла бла бла';
preg_match('#/.*:#i',$str,$arr);
var_dump(substr($arr[0],1,-1));

/* выведет чувак */

Спустя 10 минут, 9 секунд (17.12.2011 - 19:15) killer8080 написал(а):
pyha_coder
А substr то нафига? Или скобки уже отменили biggrin.gif

Спустя 1 минута, 11 секунд (17.12.2011 - 19:16) pyha_coder написал(а):
Да с горяча ляпнул с регуляркой нет времени заморачиваться, ты про какие скобки

Спустя 4 минуты, 7 секунд (17.12.2011 - 19:20) killer8080 написал(а):
Цитата (pyha_coder @ 17.12.2011 - 18:16)
ты про какие скобки

скобки в регулярке
$str = 'привет/чувак:бла бла бла';
preg_match('#/(.*):#iU',$str,$arr);
echo $arr[1];


PS да и модификатор U то же не помешает.

Спустя 5 минут (17.12.2011 - 19:25) Игорь_Vasinsky написал(а):
а двоеточие бы заэкранировать


и вдруг несколько двоеточий.

Спустя 3 минуты, 28 секунд (17.12.2011 - 19:29) pyha_coder написал(а):
Все это лирика с U и прочим, нам еще не известно что за строка будет хоть автор топика и писал что любой вобщем не суть, один вопрос для чего. А то сначало

(все что находится между первым встречающимся "/" и вторым "/") потом оказываеться что нужно и так

(а как скажем вырезать строку между двумя разными символами?
скажем, все что после первого "=" и первым после знака "=" двоеточием.)

Спустя 15 минут, 50 секунд (17.12.2011 - 19:45) MatrixGod написал(а):
короче, народ, объясню что мне надо.
в фейсбуке у каждого юзера есть своя ссылка (естественно).
все что нужно, пофиг какая она бы не была, c http без него, с www без него... надо выдернуть id юзера на фейсбуке.

ссылки бывают разных видов.
www.facebook.com/vasya-pupkin
www.facebook.com/profile.php?id=123432343241

на фейсбуке vasya-pupkin тоже может быть id.

помогите выдернуть его!

иными словами, юзеры на моем сайте посылают ссылку на желанного ими юзера на фейсбуке через форму. они делают ей сперва копи-паст.

надо написать функцию которая вернет мне id этого юзера на фейсбуке.
и пофиг какую ссылку послал мне юзер.

Спустя 4 минуты, 31 секунда (17.12.2011 - 19:49) killer8080 написал(а):
Цитата (Игорь_Vasinsky @ 17.12.2011 - 18:25)
а двоеточие бы заэкранировать

справедливое замечание
Цитата (pyha_coder @ 17.12.2011 - 18:29)
Все это лирика с U и прочим, нам еще не известно что за строка будет хоть автор топика и писал что любой вобщем не суть, один вопрос для чего. А то сначало

(все что находится между первым встречающимся "/" и вторым "/") потом оказываеться что нужно и так

(а как скажем вырезать строку между двумя разными символами?
скажем, все что после первого "=" и первым после знака "=" двоеточием.)

жадность все равно нужно отключать, в строке может быть много двоеточий. wink.gif

Спустя 1 минута, 42 секунды (17.12.2011 - 19:51) killer8080 написал(а):
MatrixGod
а как ты собираешься выдернуть id из
www.facebook.com/vasya-pupkin ?

Спустя 1 минута, 6 секунд (17.12.2011 - 19:52) MatrixGod написал(а):
killer8080
ну от первого "/" до конца строки.

Спустя 38 секунд (17.12.2011 - 19:53) killer8080 написал(а):
Цитата (MatrixGod @ 17.12.2011 - 18:52)
ну от первого "/" до конца строки.

ну так это же не id blink.gif

Спустя 9 секунд (17.12.2011 - 19:53) Игорь_Vasinsky написал(а):
да тут либо parse_url, либо implode() с последующей обработкой

Спустя 15 минут, 30 секунд (17.12.2011 - 20:08) dadli написал(а):
MatrixGod
например из етои силки
http://www.facebook.com/#!/profile.php...sk=subscribedto
ти хочиш получить ид? тоест ето 100001420262486
если ето хочеш, то можно например так:

$str = 'http://www.facebook.com/#!/profile.php?id=100001420262486';

preg_match("#(?<=id=)[0-9]+#iu",$str,$arr);

echo $arr[0];

Спустя 23 минуты, 9 секунд (17.12.2011 - 20:31) killer8080 написал(а):
dadli
тогда уж сразу
$str = 'http://www.facebook.com/#!/profile.php?id=100001420262486';

preg_match("#id=(\d+)#i",$str,$arr);

echo '<pre>'.print_r($arr, 1).'</pre>';

но у него ссылки двух видов, с id и с никами. Из последних id извлечь нельзя, ввиду его отсутствия. :)

Спустя 25 минут, 15 секунд (17.12.2011 - 20:57) dadli написал(а):
killer8080
Цитата
но у него ссылки двух видов, с id и с никами. Из последних id извлечь нельзя, ввиду его отсутствия. smile.gif


aa, если так, то ид не получаем, кожется smile.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.