如何在php中仅从字符串中突出显示字符?

如何在php中仅从字符串中突出显示字符?,php,Php,我有一个字符串和一些单词,我想突出显示那些与字符串匹配的单词,并且我只想打印那些突出显示的单词,就像如果apple匹配,那么只需要打印apple $string = "apple computer"; $keyword = "apple,orange,bike"; 我使用以下函数突出显示字符串中的特定字符 $str = preg_replace("/($keyword)/i","<span style='color:orange;'>$0</span>",$strin

我有一个字符串和一些单词,我想突出显示那些与字符串匹配的单词,并且我只想打印那些突出显示的单词,就像如果apple匹配,那么只需要打印apple

$string = "apple computer";

$keyword = "apple,orange,bike";
我使用以下函数突出显示字符串中的特定字符

$str = preg_replace("/($keyword)/i","<span style='color:orange;'>$0</span>",$string);
$str=preg_replace(“/($keyword)/i”、“$0”、$string);

问题是我只想显示突出显示的字符,目前它显示所有字符。

这将满足您的需要

$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;
$string=“苹果电脑橙色”;
$keywords=“苹果,橙色”;
$exp_kwd=爆炸(“,”,$keywords);
$res=”“;
外汇($val){
if(strpos($string,trim($val))){
$res.=$val.“”;
}
}
$res=$res.“”;
echo$res;

这将满足您的需要

$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;
$string=“苹果电脑橙色”;
$keywords=“苹果,橙色”;
$exp_kwd=爆炸(“,”,$keywords);
$res=”“;
外汇($val){
if(strpos($string,trim($val))){
$res.=$val.“”;
}
}
$res=$res.“”;
echo$res;

希望这也能奏效

$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>";
$string=“苹果电脑橙色测试”;
$keyword=“苹果、橙色、自行车、测试”;
$pattern=“/”.str_replace(“,”,“/,/”,$关键字)。“/”;
$pattern=explode(“,”,$pattern);
$string=分解(“,$string);
$keyword=分解(“,”,$keyword);
$string=内爆(“,”,(preg_filter($pattern,$keyword,$string));
echo$string=“$string”;

希望这也能奏效

$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>";
$string=“苹果电脑橙色测试”;
$keyword=“苹果、橙色、自行车、测试”;
$pattern=“/”.str_replace(“,”,“/,/”,$关键字)。“/”;
$pattern=explode(“,”,$pattern);
$string=分解(“,$string);
$keyword=分解(“,”,$keyword);
$string=内爆(“,”,(preg_filter($pattern,$keyword,$string));
echo$string=“$string”;
$string=“我在这里”;
$keyword=“#”;
$var=strrchr($string,$keyword);
if(空($var))
{
回音“未找到Occerunce”;
}
其他的
{
回显“.$var.”;
}
$string=“我在这里”;
$keyword=“#”;
$var=strrchr($string,$keyword);
if(空($var))
{
回音“未找到Occerunce”;
}
其他的
{
回显“.$var.”;
}

你试过我的答案吗?你试过我的答案吗?是的,我试过了,我只想显示高亮显示的字符而不是其他字符,意思是如果苹果高亮显示,那么只有苹果应该打印出来,而不是其他。你想删除其他字符吗?是的,我试过了,我只想显示高亮显示的字符而不是其他字符,表示如果突出显示apple,则只打印apple,而不是其他。是否删除其他?谢谢,但我不想显示其他未突出显示的单词,只想显示突出显示的单词请提供示例输出,如如果突出显示“文本”,则应打印“文本”和“文本”,而不是其他单词,简言之,我只需要显示高亮显示的字符再次阅读我的答案Hanks,但我不想显示其他未高亮显示的单词,只想显示高亮显示的单词请提供示例输出,如如果高亮显示“文本”,则应打印“文本”和“文本”,而不是其他单词,简言之,我只需要显示那些高亮显示的字符。再次尝试我的答案。如果我有多个关键字怎么办?如果我有多个关键字怎么办