- preg_quote: documentation ( source)
- preg_replace: documentation ( source)
<?php
$searchTerm = "abcd";
$replaceTerm = "XXXX";
$test=array("${searchTerm}/${searchTerm}_.${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";