собственно код: Код (Text): $subject = "PHP scripting language perfect for creating Websites."; $pattern = Array( "/\bperfect\b/i", "/\bwebsites\b/i" ); $replacement = Array( "best", "webpages" ); $result = preg_replace($pattern, $replacement, $subject); echo ucfirst($result); ?> При такой замене на выходе получаем: PHP scripting language best for creating webpages. но вот проблема в том что если слово поиска будет с большой буквы то после замены оно станет с маленькой. Конечно если это слово было первом в строке то тут можно оградить себя и поставить ucfirst(), но что делать если такое слово находиться просто в тексте. Или если это слово является началом нового предложения. К тому, что если слово является началом нового предложения, я логически нашел выход, после (.!?) заменить последующий буквенный символ с прописного на заглавный, но тут тоже встретил стену. Вроде как и срипт есть, но текст теряет всю красоту. Если не сложно подскажите что нибудь по делу. За ранее благодарен.
http://www.php.ru/manual/function.preg-replace-callback.html позволяет в качестве замены задать функцию, внутри которой можешь анализировать слова так, как тебе хочется