Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 提取以开头和结尾的字符串_Php_Regex - Fatal编程技术网

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);