我正在使用下面的代码突出显示file_get_content中的一个单词并转到锚点。
$file='
IAR6=1002
SHF6=1
REF6=0002
TY7=2
DATE7=20130820182357
STAT_N7=1002
SEQ7=0002110000001
STA7=000005
TY8=2
DATE8=20130820182429
STAT_N8=1002
SH8=1
OP8=S123
SEQ8=0002120000081
';
$Seq = 0002110000001;
$text = preg_replace("/\b($Seq)\b/i", '<span class="highlight"><a name="here">\1</a></span>', $file);
现在这个亮点:0002110000001
我想强调相同索引号的所有部分。
例如: 寻找0002110000001
仅在数字为7的情况下突出显示txt的这一部分
TY7=2
DATE7=20130820182357
STAT_N7=1002
SEQ7=0002110000001
STA7=000005
任何帮助将不胜感激。
编辑: 我试着更具体。 文件包含很多代码部分总是以TYx开头(x是自动编号)
我有搜索的SEQ号,在前0002120000001 preg_replace(“/ \ b($ Seq)\ b / i”,'\ 1找到0002110000001并高亮它们。
我需要的是高亮显示TY7和TY8之间的内容,而不仅仅是0002110000001。
由于我的英语不好,希望这很清楚
感谢
答案 0 :(得分:0)
您可以在PHP中使用 stripos()
和 explode()
<?php
$file='
IAR6=1002
SHF6=1
REF6=0002
TY7=2
DATE7=20130820182357
STAT_N7=1002
SEQ7=0002110000001
STA7=000005
TY8=2
DATE8=20130820182429
STAT_N8=1002
SH8=1
OP8=S123
SEQ8=0002120000081
';
//$Seq = "0002110000001";
$Seq = "7";
$new_arr=explode(PHP_EOL,$file);
foreach($new_arr as $k=>$v)
{
if(stripos($v,$Seq)!==false)
{
echo "$v\n";
}
}
输出:
TY7=2
DATE7=20130820182357
STAT_N7=1002
SEQ7=0002110000001
STA7=000005