我认为这会起作用,但它似乎只是删除了 - 以及它之后的空白。
$itemList[] = preg_replace('/-(.*?)/i', "", $temp['item']);
答案 0 :(得分:4)
尝试:
$itemList[] = preg_replace('/-(.*)$/i', "", $temp['item']);
$符号匹配输入的结尾,因此强制。*抓住结尾。
添加? *之后使它变得不贪婪,这意味着它会抓住最小可能,而不是最大可能,所以在这种情况下,它正是你不想要的。
答案 1 :(得分:2)
你为什么使用非贪婪的*?
?
$itemList[] = preg_replace('/-.*/i', "", $temp['item']);
此外,没有必要捕获parens。