Php 突出显示部分搜索结果
我使用下面的代码突出显示文件中的一个单词,然后转到anchorPhp 突出显示部分搜索结果,php,Php,我使用下面的代码突出显示文件中的一个单词,然后转到anchor $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
$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);
任何帮助都将不胜感激
编辑:
我尽量说得更具体些。
文件包含大量代码部分,始终以TYx开头(x是自动编号)
我有用于搜索的序号,ex 0002110000001
preg_replace(“/\b($Seq)\b/i“,”\1找到0002110000001并将其高亮显示
我需要的是介于TY7和TY8之间的higlight,而不是仅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";
}
}
感谢您的回答,但这是提取部分而不是higlight,如果我有typ71,这是行不通的。目标是higlight并转到锚定部分而不是截断(文件可以包含超过1500个id)
typ71
应该匹配什么?很抱歉,这不是TYP,而是TY!。我可能说错了,file example只是文件的一小部分。它包含1500多个代码部分,以TYx开头(x=自动编号),所以TY1,TY2…我开始编辑我的文章,以便更具体一些。
<?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