我只需要让两个词进入 SQL 查询:男性或女性
我使用返回的 PHP 函数:
return preg_replace( "/([male|female])/i", '', $data );
目前它删除了这些词,但我如何完全删除所有内容,只
允许男性
或女性?
我在这里想念什么?
我只需要让两个词进入 SQL 查询:男性或女性
我使用返回的 PHP 函数:
return preg_replace( "/([male|female])/i", '', $data );
目前它删除了这些词,但我如何完全删除所有内容,只
允许男性
或女性?
我在这里想念什么?
您的原始模式将匹配任何m
, a
, l
, e
, |
, 或f
字符。
你可能想要这样的东西:
if (preg_match('/(fe)?male/i', $data, $match))
return $match[0];
else
return "";
或单线:
return preg_match('/(fe)?male/i', $data, $match) ? $match[0] : "";
这将匹配文字字符串male
(前面是可选的文字字符串fe
)并返回第一个匹配的结果。如果没有找到这样的匹配,它将返回一个空字符串。
要执行您所描述的操作,您也许可以使用以下方法:
$str = preg_replace('/.*?((?:fe)?male).*/i', '$1', $str);
这将删除所有内容并放回female
或male
放入字符串中。
键盘演示。