我想根据复合词中的单词为单词添加一些html。
例如,让我们来看看#34; doghouse'
让我们说
<div ng-controller="MainController"> <!--insert ng controller here-->
<div ng-repeat="news in newsInfo"><!--insert ng repeat here-->
<!-- directive goes here-->
<newsInfo info="news"></newsInfo>
</div>
</div>
我希望最终结果产生
$row2['word'] = 'doghouse';
$word = 'dog';
$otherword = 'house';
到目前为止,我的代码无效(我认为我可以<span style="color:blue">dog</span><span style="color:red">house</span>
array
replace
,但显然我无法做到。
str_replace
这是$finalword = str_replace(array($word,$otherword),array("<span style='color:blue'>".$word."</span>","<span style='color:red'>".$word."</span>"),$row2['word']);
错误的选择吗?
答案 0 :(得分:1)
str_replace是正确的函数,但你并没有真正正确使用它。你设置它的方式,$ row2必须是一个数组,但它不是,它是一个字符串。所以你需要使用另一种方法。您的代码应如下所示:
str_replace($row2, $word.$otherword, "<span style='color:blue'>".$word."</span><span style='color:red'>".$otherword."</span>");
第一个术语($ row2)是你正在搜索的地方,php称之为'haystack'。第二个词$ word。$ otherword就是你要搜索的内容('needle')。第三个术语是你找到它时用'针'代替它的东西。
答案 1 :(得分:0)
我不知道你如何储存你的颜色,但它对你有用吗?
$row2['word'] = 'doghouse';
$words = array('dog','house');
$colors = array('blue', 'red');
$finalword = "";
for ($i = 0; $i < count($words); $i++) {
$finalword .= "<span style='color:".$colors[$i]."'>".$words[$i]."</span>";
}
echo $finalword;