У меня на сайт есть поддержка хештегов, для определения хештега в тексте использую функцию preg_match_all, хештеги начинаются со знака # помогите написать регулярное выражение для выдергивания всех хештегов с текста.
Заранее спасибо!
preg_match_all('#????', $text, $result);
Спустя 16 минут, 12 секунд (15.02.2012 - 09:08) Игорь_Vasinsky написал(а):
preg_match_all('/([^\s]#*)/s', $text, $result);
echo '<pre>' . print_r($result, 1) . '</pre>';
Спустя 34 минуты, 4 секунды (15.02.2012 - 09:42) ola_sh написал(а):
$text = 'President Obama has been playing chess #Obama2012';
preg_match_all('/([^\s]#*)/s', $text, $result);
echo '<pre>' . print_r($result, 1) . '</pre>';
Выдает:
Array
(
[0] => Array
(
[0] => P
[1] => r
[2] => e
[3] => s
[4] => i
[5] => d
[6] => e
[7] => n
[8] => t
[9] => O
[10] => b
[11] => a
[12] => m
[13] => a
[14] => h
[15] => a
[16] => s
[17] => b
[18] => e
[19] => e
[20] => n
[21] => p
[22] => l
[23] => a
[24] => y
[25] => i
[26] => n
[27] => g
[28] => c
[29] => h
[30] => e
[31] => s
[32] => s
[33] => #
[34] => O
[35] => b
[36] => a
[37] => m
[38] => a
[39] => 2
[40] => 0
[41] => 1
[42] => 2
)
[1] => Array
(
[0] => P
[1] => r
[2] => e
[3] => s
[4] => i
[5] => d
[6] => e
[7] => n
[8] => t
[9] => O
[10] => b
[11] => a
[12] => m
[13] => a
[14] => h
[15] => a
[16] => s
[17] => b
[18] => e
[19] => e
[20] => n
[21] => p
[22] => l
[23] => a
[24] => y
[25] => i
[26] => n
[27] => g
[28] => c
[29] => h
[30] => e
[31] => s
[32] => s
[33] => #
[34] => O
[35] => b
[36] => a
[37] => m
[38] => a
[39] => 2
[40] => 0
[41] => 1
[42] => 2
)
)
а должен #Obama2012.
Спустя 6 минут, 58 секунд (15.02.2012 - 09:49) Игорь_Vasinsky написал(а):
:D :D :D
а так
а так
preg_match_all('/([^\s]#[\w\d]*)/s', $text, $result);
echo '<pre>' . print_r($result, 1) . '</pre>';
Спустя 5 минут, 37 секунд (15.02.2012 - 09:55) #8bit написал(а):
Помоему ещё проще можно
$text = 'President Obama has been playing chess #Obama2012';
preg_match_all('/(#[^\s]*)/s', $text, $result);
echo '<pre>' . var_dump($result[1]) . '</pre>';
Спустя 16 минут, 10 секунд (15.02.2012 - 10:11) ola_sh написал(а):
о, вот спасибо
Спустя 3 часа, 55 минут, 36 секунд (15.02.2012 - 14:06) nugle написал(а):
Игорь_Vasinsky
#8bit
Зачем вы используете модификатор "s", если у вас в регулярных выражениях символа "."?
#8bit
Зачем вы используете модификатор "s", если у вас в регулярных выражениях символа "."?
Спустя 4 часа, 37 минут, 45 секунд (15.02.2012 - 18:44) #8bit написал(а):
Цитата |
Зачем вы используете модификатор "s", если у вас в регулярных выражениях символа "."? |
Блин точно, че-то даже не вчитался в описание модификатора)
Спустя 21 час, 32 минуты, 28 секунд (16.02.2012 - 16:17) ola_sh написал(а):
тут проблемка
функция возвращает все, допустим исходный текст: Barak Obama president of USA #barakobama , вовращает: BarakObamapresidentofUSA#barakobama
а должна #barakobama, как быть?
функция возвращает все, допустим исходный текст: Barak Obama president of USA #barakobama , вовращает: BarakObamapresidentofUSA#barakobama
а должна #barakobama, как быть?
Спустя 9 минут, 34 секунды (16.02.2012 - 16:26) nugle написал(а):
покажи свой код, потому что у меня все работает
Спустя 25 минут, 51 секунда (16.02.2012 - 16:52) #8bit написал(а):
странно, у меня тоже нормально работает
_____________
С Уважением ola_sh