在 php 变量中的两个条目之间查找条目

Find entry between two entries in a php variable

我有一个 php 变量,看起来像这样 q1q32q1qq2q14q2qq3q16q3q。这个变量的逻辑是,一个条目以例如 q1q 开头,以 q1q 结尾,并且在这两个条目之间有一个数字,在这个例子中是 32。我想要的是编写一个代码来找到介于两者之间的数字你知道 q1q。这是我开始写的

strpos($participants, "q" . $_SESSION["UserID"] . "q")

按照上面的例子$_SESSION["UserID"]等于1并且$participants是包含q1q32q1qq2q14q2qq3q16q3q的变量。关于如何完成我的代码的任何想法?

尝试preg_match

$str = 'q1q32q1qq2q14q2qq3q16q3q';
$word1 = 'q1q';
$word2 = 'q1q';
preg_match('/'.preg_quote($word1).'(.*?)'.preg_quote($word2).'/is', $str, $match);

print_r($match); //$match[1] will have desired output

输出:

Array
(
    [0] => q1q32q1q
    [1] => 32
)

你可以尝试使用 strpossubstr 但它相当冗长 请参阅以下示例:

echo substr($str, (strpos($str, $word1) + strlen($word1)), (strpos($str, $word2, 1) - strlen($word2))); //output: 32

你需要缓冲读取php文件,如果在文件中找到字符串变量,则添加条件,然后根据需要对其进行操作 我认为没有其他办法