I need help while trying to spin articles. I want to find text and replace synonymous text while keeping the case the same.
For example, I have a dictionary like:
hello|hi|howdy|howd’y
I need to find all hello and replace with any one of hi, howdy, or howd'y.
Assume I have a sentence:
Hello, guys! Shouldn’t you say hello me when I say you HELLO?
After my operation it will be something like:
hi, guys! Shouldn’t you say howd’y to me when I say howdy?
Here, I lost the case. I want to maintain it! It should actually be:
Hi, guys! Shouldn’t you say howd’y to me when I say HOWDY?
My dictionary size is about 5000 lines
hello|hi|howdy|howd’y go|come
salaries|earnings|wages
shouldn’t|should not
…
I’d suggest using
preg_replace_callbackwith a callback function that examines the matched word to see if (a) the first letter is not capitalized, or (b) the first letter is the only capitalized letter, or (c) the first letter is not the only capitalized letter, and then replace with the properly modified replacement word as desired.