How can I use str_ireplace (or something similar) to replace some text for formatting and then return it with the same caps?
Example:
$original="The quick red fox jumps over the lazy brown dog.";
$find="thE";
print str_ireplace($find,'<b>'.$find.'</b>',$original);
That will output: thE quick red fox jumps over the lazy brown dog.
I want it to keep the original case and only apply the formatting, in this example, bold text.
Thank you.
$original = "The quick red fox jumps over the lazy brown dog.";
$new = preg_replace("/the/i", "<b>\$0</b>", $original);
gives "The quick red fox jumps over the lazy brown dog." If you want to match specific words, you can add word boundaries: preg_replace('/\bthe\b/i', ...
.
If you want to parameterize the replacement, you can use preg_quote
:
preg_replace('/\b' . preg_quote($word, "/") . '\b/i', "<b>\$0</b>", $original);