我的字符串是:
$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
我希望从该字符串中获取#fox, #dog
和#lazy
以及包含#
的每个字词,并且我想将这些字符串添加到这样的数组中:
$array = array(
[0]=>'#fox',
[1]=>'#dog',
[2]=>'#lazy',
);
任何可以帮助我的人..请。非常感谢!
答案 0 :(得分:3)
您可以使用此正则表达式'/#(\w+)/'
<?php
$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
preg_match_all('/#(\w+)/', $str, $matches);
array_walk($matches[1],function (&$v){ $v='#'.$v;});
print_r($matches[1]);
输出:
Array
(
[0] => #fox
[1] => #dog
[2] => #lazy
)
答案 1 :(得分:0)
这是:
$s = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
$r = array();
preg_match_all('/(?<!\w)#\w+/', $s,$r);
print_r($r);
答案 2 :(得分:0)
使用带有preg_match_all
的正则表达式,您将获得一个包含字符串中包含#
字样的单个数组。
$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
$pattern = '/(?<!\w)#\w+/';
preg_match_all($pattern, $str , $matches);
print_r($matches);