我正在尝试在 PHP 活动系统中获取元内容,问题是它提供的内容为
admin 写了一篇新帖子,FIRE 2 天,2 小时前
所以在这里我想得到“火”这个词,但因为它是标题,所以它是动态的,所以我能做的就是找到帖子这个词,因为它很常见,所以我可以在post,
if之后得到下一个post,
词当下。谁能建议我如何做到这一点?假设我们还有一个这样的内容
管理员在 2 天 3 小时前发布了更新
它没有,post,
所以它会被避免。
我正在尝试在 PHP 活动系统中获取元内容,问题是它提供的内容为
admin 写了一篇新帖子,FIRE 2 天,2 小时前
所以在这里我想得到“火”这个词,但因为它是标题,所以它是动态的,所以我能做的就是找到帖子这个词,因为它很常见,所以我可以在post,
if之后得到下一个post,
词当下。谁能建议我如何做到这一点?假设我们还有一个这样的内容
管理员在 2 天 3 小时前发布了更新
它没有,post,
所以它会被避免。
使用正则表达式
$string="admin wrote a new post, FIRE 2 days, 2 hours ago";
$result=preg_split('/post,/',$string);
if(count($result)>1){
$result_split=explode(' ',$result[1]);
print_r($result_split[1]);
}
这个输出 FIRE
另一种方式
$string="admin wrote a new post, FIRE 2 days, 2 hours ago";
$result=preg_match_all('/(?<=(post,))(\s\w*)/',$string,$matches);
print_r($matches[0]);
只需使用explode()方法,定位单词post的位置,提取下一个单词。
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
foreach( $pieces as $key => $value )
{
if($pieces[$key] == 'post' )
{
echo $pieces[$key+1];
break;
}
}
或者,专家方法:
echo $pieces[array_search('post', $pieces)+1];
为此使用正则表达式。
$string="admin wrote a new post, FIRE 2 days, 2 hours ago";
preg_match('/(?<=post, )\S+/i', $string, $match);
echo $match[0];
希望这对你有用。