我有一个php文件,在这个文件中我有一些数据可以说
<This is the content of the text file>
"dim://realthings1/true"
"rel://stop1"
"dim://realthings2/false"
"rel://stop2"
"dim://realthings3/false"
"rel://stop3"
"dim://realthings4/false"
"rel://stop4"
<This is the rest of content>
我需要一个php代码来提取和回显第一个“dim:// realthings1 / true”结果dim://realthings1/true
但是这个“dim:// .......”数据每1个小时都在变化
如何从那里提取数据,其中一个PHP代码提取“dim:// ......”的第一个值
我试过
<?php
$Text=file_get_contents("test.php");
preg_match('/dim\s*:\s*\'([^\']+)\'/',$Text,$Match)
echo $Match[1] ."\n";
?>
此代码可以正常使用此数据
dim:'realthings1'
我试图改变这段代码而没有结果! 请帮助!
答案 0 :(得分:0)
如果您只想要该行,则可以使用UN-greedy标志U
$Text=file_get_contents("test.php");
$Match=array();
if (preg_match('/dim\s*:\s*([^\']+)[\'"]/U',$Text,$Match)){
echo $Match[1];
}
适用于所有比赛
$Text=file_get_contents("test.php");
$Match=array();
if (preg_match_all('/dim\s*:\s*([^\']+)[\'"]/U',$Text,$Match)){
print_r($Match[1]);
}
以下内容将匹配以dim
开头,后跟0或更多空格的任何内容:然后0或更多空格(不是'或'或空格),然后是'或'或空格。并且是贪婪的。括号内匹配的项目是$Matches[1]
中的内容。希望现在很清楚
/dim\s*:\s*([^\'"\s]+)[\'"\s]/U