0

好的,所以我匹配任何以S结尾的单词并将其替换为'S以进行 mysql 搜索,一切正常..

$check = "string to tests"; 
if(preg_match("/s\b/", $check)) {
    preg_match("/s\b/", $check, $match);
    $no_apos = $match[0];
    $with_apos = str_replace($no_apos, "'s", $check);
    $converted = "LIKE '%$check%' OR subject LIKE '%$with_apos%'";
}

$search_result = mysql_query("SELECT * FROM db WHERE subject $converted ORDER BY subject ASC");
$result = preg_replace("#($check|$with_apos)#i", "<span style='background-color:#EEEE00'>$1</span>", $result);

但是当它获取结果时我得到了这个错误:

Warning: preg_replace() [function.preg-replace]: Unknown modifier '3'

所有匹配的作品,它似乎只是它不喜欢的替换。知道为什么吗?

编辑:还有更好的正则表达式来匹配任何包含以 S 结尾的单词的字符串吗?

4

0 回答 0