Php 提取以开头和结尾的字符串
我想从下面的示例字符串中提取以下字符串Php 提取以开头和结尾的字符串,php,regex,Php,Regex,我想从下面的示例字符串中提取以下字符串 'sdfsdf sdfsdf fd<%MYSTRING123%>d12df fsdsgsg d' 预期产出 array(2) { [0]=> array(0) { } [1]=> array(0) { } } array(1) { [0]=> '<%MYSTRING123%>' } 数组(1){ [0]=> '' } 由于您使用的是preg\u match\u all(),因此始
'sdfsdf sdfsdf fd<%MYSTRING123%>d12df fsdsgsg d'
预期产出
array(2) {
[0]=>
array(0) {
}
[1]=>
array(0) {
}
}
array(1) {
[0]=> '<%MYSTRING123%>'
}
数组(1){
[0]=> ''
}
由于您使用的是
preg\u match\u all()
,因此始终会得到一个二维数组。这将至少为您提供所需的内容:
/
注:您链接的主题中的
\[
和\]
是其输入('BBCode'-标记)的一部分。所以这些不适用于您的输入。查看您的正则表达式,似乎您需要能够获得
,对吗
尝试对正则表达式进行一些更改,如下所示:
<?php
$input = 'sdfsdf sdfsdf fd<%MYSTRING123%>d12df fsdsgsg d';
preg_match_all('/\<%MYSTRING.*?%>/', $input, $matches);
var_dump($matches);
试试这个
<?php
$input = 'sdfsdf sdfsdf fd<%MYSTRING123%>d12df fsdsgsg d';
preg_match_all('/\<%MYSTRING.*?%>/', $input, $matches);
var_dump($matches);