我想使用preg_replace()
删除被特殊字符包围的单词:
$product_name = 'Choose a : giFt ,';
$word = 'gift';
$regex = '/[-:,]?\b'.$word.'\b[-:,]?/i';
if(preg_match($regex, $product_name))
{
$str = preg_replace($regex, "", trim($product_name));
}
echo $str;
输出:
Choose a : ,
如果没有空格意味着我的字符串是“选择一个:giFt”,那么它可以正常工作。
我的预期输出是
Choose a
答案 0 :(得分:0)
你必须试试这个:
$regex = '`:([^>]+),`';
但是你也必须清理你的代码,你不需要$ regex和$ regex_p
答案 1 :(得分:0)
只需在角色类中添加空格:
$regex = '/[-:,\s]*\b'.$word.'\b[-:,\s]*/i';