在字符串PHP中提取两个字符之间的子字符串

Seb*_*ian 39 php sql substr

是否有一个PHP函数可以提取字符串中2个不同字符之间的短语?像substr();

例:

$String = "[modid=256]";

$First = "=";
$Second = "]";

$id = substr($string, $First, $Second);
Run Code Online (Sandbox Code Playgroud)

因此substr()将是256

任何帮助,将不胜感激 :)

Yog*_*har 62

使用此代码

$input = "[modid=256]";
preg_match('~=(.*?)]~', $input, $output);
echo $output[1]; // 256
Run Code Online (Sandbox Code Playgroud)

工作示例http://codepad.viper-7.com/0eD2ns

  • 对于任何想知道的人:“$output”的索引“1”包含与括号内的模式匹配的文本的原因是“$output[0]”是与该模式匹配的全文。`$output[1]` 是第一个子模式匹配的文本;`$output[2]` 是第二个子模式匹配的文本,依此类推。有关更多信息,请参阅[有关 `preg_match` 的官方文档](https://www.php.net/manual/en/function.preg-match.php)。 (3认同)

Sal*_*lim 22

使用:

<?php

$str = "[modid=256]";
$from = "=";
$to = "]";

echo getStringBetween($str,$from,$to);

function getStringBetween($str,$from,$to)
{
    $sub = substr($str, strpos($str,$from)+strlen($from),strlen($str));
    return substr($sub,0,strpos($sub,$to));
}

?>
Run Code Online (Sandbox Code Playgroud)