替换preg_replace中的字符串

时间:2010-03-20 13:00:57

标签: php regex preg-replace highlighting

<?php
  $a="php.net s earch for in the all php.net sites this mirror only function 
      list online documentation bug database Site News Archive All Changelogs 
      just pear.php.net just pecl.php.net just talks.php.net general mailing 
      list developer mailing list documentation mailing list What is PHP? PHP 
      is a widely-used...";
?>

我想突出特定的词语。

例如phpnetfunc

  

php.net s earch for in the all **php**.**net** sites this mirror only **func**tion list online documentation bug database Site News Archive All Changelogs just pear.**php**.**net** just pecl.**php**.**net** just talks.php.net general mailing list developer mailing list documentation mailing list What is **PHP**? **PHP** is a widely-used...

谢谢你。

2 个答案:

答案 0 :(得分:5)

您可以执行以下操作:

// your string.
$str = "...............";

// list of keywords that need to be highlighted.
$keywords = array('php','net','fun');

// iterate through the list.
foreach($keywords as $keyword) {

    // replace keyword with **keyword**
    $str = preg_replace("/($keyword)/i","**$1**",$str);
}

即使关键字是任何其他更大字符串的子字符串,上面也会替换关键字。要将关键字替换为完整字词,您可以执行以下操作:

$str = preg_replace("/\b($keyword)\b/i","**$1**",$str);

答案 1 :(得分:0)

$words = 'php|net|func';

echo preg_replace("/($words)/i", '**$1**', $a);