我正在使用 preg_replace_callback 对大量目录产品描述进行一些 SEO,并且在使用正则表达式时遇到了一些困难。
我想替换所有这些单词(帽子,衬衫),除了“男士”+ 0-2 个单词之后的单词,例如“男士漂亮的黑色帽子”,“男士长衬衫”不应该被替换。
这是一个调试代码,在实际应用程序中,我使用回调来为每个单词选择适当的替换:
$str = "men's black hat, and orange shirt!";
preg_match_all('/((\s|\.\s|,\s|\!\s|\?\s)(hat|shirt)(\s|\.|\.\s|,\s|\!|\!\s|\?|\?\s))/i', $str, &$_matches);
print_r($_matches);
谢谢