- preg_quote: documentation ( source)
- preg_replace: documentation ( source)
<?php
$searchTerm = "abcd";
$replaceTerm = "XXXX";
$test=array("$searchTerm/$searchTerm_.mp3", "$searchTerm", "xay$searchTerm", "asdasd/$searchTerm.mp3", "$searchTerm.", "blahahbasd$searchTerm");
foreach ($test as $t)
echo "$t => " . preg_replace("/(". preg_quote($searchTerm) . "([^_.])|". preg_quote($searchTerm) . "$)/x", preg_quote($replaceTerm) . "\${2}", $t) . "\n";