0

我有一个文件 filter.txt,其中包含我想在字符串上突出显示的单词。

过滤器.txt:test1 test2

我的解决方案不起作用:

    <?php
    $file = file_get_contents('/home/user/filter.txt', true);
    $keyword=$file;
    $str="This is a test1 and test2 and test3";

    $keyword = implode('|',explode(' ',preg_quote($keyword)));
    $str = preg_replace("/($keyword)/i","<b>$0</b>",$str);
    echo $str;
    ?>

任何人?

4

2 回答 2

0

尝试修剪你可能会在第二个关键字之后得到一个空格的内容

$keyword=trim( file_get_contents("filter.txt",true) );
于 2013-06-27T17:33:33.740 回答
0

花了我 15 分钟,但我最终得到了它:)

<?php
  $file     = file_get_contents('/home/user/filter.txt', true);
  $keywords = $file;
  $str      = "This is a test1 and test2 and test3";
  $keywords = explode(" ", $keywords);
  $str      = preg_replace('/'.implode('|', $keywords).'/', '<b>$0</b>', $str);
  echo $str;
?>

这期望您的 filter.txt 像test1 test2 test3等一样布置。我建议用新行或管道分隔,|

于 2013-06-27T17:56:00.823 回答