PHP:返回两个字符之间的字符串

Nic*_*ard 12 php regex string replace keyword

我想在一个大字符串中使用"关键字".这些关键字使用my_keyword开始和结束,并且是用户定义的.如何在一个大字符串中搜索和查找两个*字符之间的内容并返回每个实例?

它可能会改变它的原因,关键字的一部分可以是用户定义的,例如page_date_Y,它可能显示创建页面的年份.

所以,再次,我只需要进行搜索并返回这些*字符之间的内容.这是可能的,或者如果我不知道"关键字"的长度或我可能是什么,有更好的方法吗?

cod*_*ict 42

<?php
// keywords are between *
$str = "PHP is the *best*, its the *most popular* and *I* love it.";    
if(preg_match_all('/\*(.*?)\*/',$str,$match)) {            
        var_dump($match[1]);            
}
?>
Run Code Online (Sandbox Code Playgroud)

输出:

array(3) {
  [0]=>
  string(4) "best"
  [1]=>
  string(12) "most popular"
  [2]=>
  string(1) "I"
}
Run Code Online (Sandbox Code Playgroud)

  • 辉煌!这么简单.谢谢! (3认同)