>我有一个字符串变量
$input = "Hello everybody [ I want this sub string ]. Hi. How are you?";
以及一个在字符之间获取子字符串的函数
function getSubstring($input, $start, $end)
{
preg_match("~".$start."(.*?)".$end."~", $input, $output);
return $output[1];
}
我正在得到每个人的输出 [ 我想要这个子字符串]。 用
echo getSubstring($input, 'H', 'H');
但没有输出
echo getSubstring($input, '[', ']');
因为"["和"]"是空格字符
获取两个输出如何修改以下行
preg_match("~".$start."(.*?)".$end."~", $input, $output);
请帮助我。
您需要
使用preg_quote()
来转义特殊字符,这些字符是:
. \ + * ?[ ^ ] $ ( ) { } = !<> |: -
$input = "Hello everybody [ I want this sub string ]. Hi. How are you?";
function getSubstring($input, $start, $end)
{
preg_match("~".preg_quote($start)."(.*?)".preg_quote($end)."~", $input, $output);
return $output[1];
}
echo getSubstring($input, '[', ']');//I want this sub string