Опитвам се да заменя определени срещания на низове в текстов файл с връзки. Някои от обектите се състоят от повече от една дума, т.е. те са низове с интервали между тях. По същество търся регулярен израз, който отчита препинателните знаци и не е чувствителен към главни и малки букви. Изглежда, че моето „решение“ се върти в кръг и познанията ми за регулярен израз просто не са достатъчно добри за това :(
$pattern = '/[ ._*&^%$#!?!]Anthony Anderson[ ._*&^%$#!?!]/i';
$replacement = '[[Tony Anderson]]';
$subject = 'Anthony anderson. (born August 15, 1970) is an actor, comedian, and writer. He has starred ... the ANTHony Anderson, as well as in Fox sitcom. anthony Anderson. Anthony aNderson? !Anthony AnderSon. Anthony Anderson. . anthony
anderson. Anthony Andersoneon should not match neither should Santhony Anderson ';
echo preg_replace($pattern, $replacement, $subject, -1 );
Дотук ме докара:
Антъни Андерсън. (роден на 15 август 1970 г.) е актьор, комик и писател. Той е участвал в... Антъни Андерсън, както и в ситкома на Fox.[[Тони Андерсън]][[Тони Андерсън]] [[Тони Андерсън]] Антъни Андерсън. . антъни андерсън. Антъни Андерсон не трябва да съвпада, нито Сантъни Андерсън
Но аз преследвам:
[[Тони Андерсън]]. (роден на 15 август 1970 г.) е актьор, комик и писател. Той е участвал в ... [[Тони Андерсън]], както и в ситкома на Fox. [[Тони Андерсън]]. [[Тони Андерсън]]? ![[Тони Андерсън]]. [[Тони Андерсън]]. . [[Тони Андерсън]]. Антъни Андерсон не трябва да съвпада, нито Сантъни Андерсън
какво ми липсва