sagen lässtHTML-Tags auf eine variable Zeichenfolge hinzufügen
$keyword = obama
$result = "US President Barack Obama on Wednesday signed a landmark law"
Wie kann ich sicherstellen, dass jedes Mal $ Schlüsselwort in $ zur Folge scheint es das $ Schlüsselwort ändert innerhalb <strong></strong>
Tags zu sein?
str_replace funktioniert nicht, weil, wenn das Schlüsselwort in den unteren Kappen ist und das Ergebnis obama in higuer Kappen ist, es es nicht ersetzen würde.
Dank
edit: die Antwort gefunden, falls jemand muss es dies der Code ist
$myWords = array($keyword);
function boldText($arrWords, $strSubject)
{
if (!is_array($arrWords)) return;
foreach ($arrWords as $strWord)
{
$strSubject = preg_replace('@(' . preg_quote($strWord, '@') . ')@i', "<b>\\1</b>", $strSubject);
}
return $strSubject;
}
Vorsicht mit diesem Ansatz, wenn die Quelldaten wahrscheinlich jede HTML enthalten oder auch URLs etc. (zB. Was in dem Wort „obama“ geschieht, ist in einer URL) –
Ich nehme die $ result von einer Zeichenkette, die nur eine kurze Beschreibung ist, die kein HTML enthält, ist auch keine URL. Die Sache ist, ich muss es fett stellen, auch wenn die Zeichenfolge Caps hat Buchstaben – Peibol