[英]Highlight parts of search results
我正在使用以下代码突出显示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编号,在0002110000001中,preg_replace(“ / \\ b($ Seq)\\ b / i”,'\\ 1找到0002110000001并将其高亮显示。
我需要的是TY7和TY8之间的高光,而不是只有0002110000001。
希望我的英语不好,这已经足够清楚了
谢谢
您可以在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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.