我有一个字符串和一些单词,我想要突出显示那些与字符串匹配的单词,而且我只想打印那些突出显示的单词,如果苹果匹配,那么只有苹果必须打印。
$string = "apple computer";
$keyword = "apple,orange,bike";
我使用以下函数突出显示字符串中的特定字符。
$str = preg_replace("/($keyword)/i","<span style='color:orange;'>$0</span>",$string);
问题是我只想显示突出显示的那些字符,目前它显示所有字符。
答案 0 :(得分:2)
这可以满足您的需求。
$string = " apple computer orange";
$keywords = "apple, orange";
$exp_kwd = explode(",", $keywords);
$res = "<span style='color:orange;'>";
foreach($exp_kwd as $val){
if(strpos($string, trim($val))){
$res .= $val." ";
}
}
$res = $res."</span>";
echo $res;
答案 1 :(得分:2)
希望这也会起作用
$string = "apple computer orange tested";
$keyword = "apple,orange,bike,tested";
$pattern="/".str_replace(",","/,/",$keyword)."/";
$pattern=explode(",",$pattern);
$string=explode(" ",$string);
$keyword =explode(",",$keyword);
$string=implode(",",(preg_filter($pattern, $keyword, $string)));
echo $string="<span style='color:orange;'>$string</span>";
答案 2 :(得分:0)
$string = "Im On #Here";
$keyword = "#";
$var = strrchr($string,$keyword);
if(empty($var))
{
echo 'No Occerunce Found';
}
else
{
echo '<span style="color:orange;">'.$var.'</span>';
}