什么是获取两个字符串之间内容的最佳方法,例如
ob_start(); include('externalfile.html'); ## see below $out = ob_get_contents(); ob_end_clean(); preg_match('/{FINDME}(.|\n*)+{\/FINDME}/',$out,$matches); $match = $matches[0]; echo $match; ## I have used .|\n* as it needs to check for new lines. Is this correct? ## externalfile.html {FINDME} Text Here {/FINDME}
由于某种原因,这似乎在我的代码中的一个地方起作用,而不是另一个地方。我会以正确的方式解决这个问题吗?或者,还有更好的方法?
输出缓冲区也是这样做的方法还是file_get_contents?
提前致谢!
#
/
s
.
\s
{
}
{n,m}
基础的
preg_match('#\\{FINDME\\}(.+)\\{/FINDME\\}#s',$out,$matches);
各种标签等的高级(JavaScript样式不是很好)。
$delimiter = '#';
$startTag = ‘{FINDME}’; $endTag = ‘{/FINDME}’; $regex = $delimiter . preg_quote($startTag, $delimiter) . ‘(.*?)’ . preg_quote($endTag, $delimiter) . $delimiter . ‘s’; preg_match($regex,$out,$matches);
将此代码放入函数中