Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.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_Preg Match - Fatal编程技术网

Php 预匹配方括号外的数据

Php 预匹配方括号外的数据,php,preg-match,Php,Preg Match,我有一个来自MySQL的字符串,我想得到方括号之外的数据 以下是我的数据: [USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1 Microsoft Windows NT 6.1.7601 Service Pack 1 preg_match_all("/].*?\[/", $adat["I

我有一个来自MySQL的字符串,我想得到方括号之外的数据

以下是我的数据:

[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array); 
 print_r( $result_array[0][1] );

 ] Microsoft Windows NT 6.1.7601 Service Pack 1 [
如何获取此

[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array); 
 print_r( $result_array[0][1] );

 ] Microsoft Windows NT 6.1.7601 Service Pack 1 [
由该用户尝试的

[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array); 
 print_r( $result_array[0][1] );

 ] Microsoft Windows NT 6.1.7601 Service Pack 1 [
在这之后,我得到了:

[USERNAME] User [OS INFO] Microsoft Windows NT 6.1.7601 Service Pack 1 [MACHINE NAME] MACHINE-2[LANGUAGE_INFORMATION] 4.0.30319.1
Microsoft Windows NT 6.1.7601 Service Pack 1
preg_match_all("/].*?\[/", $adat["INFORMATION"], $result_array); 
 print_r( $result_array[0][1] );

 ] Microsoft Windows NT 6.1.7601 Service Pack 1 [

如何在不使用括号的情况下获取数据?

尝试使用这样的括号进行匹配

preg_match_all("/](.*?)\[/", $adat["INFORMATION"], $result_array); 
与括号一起使用
()

或者,您可以使用函数

使用括号

preg_match_all("/](.*?)\[/", $adat["INFORMATION"], $result_array); 
那么

print_r( $result_array[1][1] );
Microsoft Windows NT 6.1.7601 Service Pack 1

请注意打印中的差异