- str_replace: documentation ( source)
- preg_replace: documentation ( source)
<?php
function sphinxesc($x){
$depth = 0;
for ($i = 0; $i < strlen($x); ++$i){
$depth += $x[$i] == '(' ? 1 : 0;
$depth -= $x[$i] == ')' ? 1 : 0;
}
if($depth != 0)
$x = str_replace(array('(',')'),' ',$x);
$x = str_replace(array('/','~','@'), ' ',$x);
$x = preg_replace('/[\!\-\^]+(?!\w)/', ' ',$x);
}
echo sphinxesc('hi! this is shit!');