我有这样的短信:
$tagPossible = '365 Wallpapers now available on Nokia Store for #NokiaX family @nokiadeveloper @nokia';
这个字符串中有两个单词:nokiadeveloper和@nokia。
我所做的是,我想将这两个字符串(可以是X)存储到我的数据库中。
$tag = strstr($tagPossible,'@'); echo $converTag = str_replace('@','',$tag);
这是我的输出:nokiadeveloper
因为有两个标签,我想将它们作为两行导入到我的数据库中。因此,在导入此字符串时,我需要具体说明。
我怎么能选择这个字符串?我只想选择nokiadeveloper和诺基亚作为数组。
谢谢!
发布于 2014-03-03 14:03:06
使用preg_match_all()和积极的展望来提取所有必需的字符串:
(?<=\s)@(\w+)解释:
(?<=\s) -如果前面有空格字符@ -匹配文字@字符(\w+) -匹配(并捕获)任何单词字符[A-Za-z0-9_]代码:
$ok = preg_match_all('/(?<=\s)@(\w+)/', $tagPossible, $matches);
if ($ok) {
$arr = $matches[1];
}
print_r($arr);输出:
Array
(
[0] => nokiadeveloper
[1] => nokia
)发布于 2014-03-03 14:14:16
另外,这是另一个解决方案可能会有所帮助。就因为我讨厌Regex
$tag = strstr($tagPossible, '@');
$tags = explode('@', $tag);
foreach($tags as $tag) {
echo trim($tag). PHP_EOL;
}https://stackoverflow.com/questions/22148703
复制相似问题