删除“ - ”后面的所有字符

时间:2009-11-18 13:06:06

标签: php regex

我认为这会起作用,但它似乎只是删除了 - 以及它之后的空白。

$itemList[] = preg_replace('/-(.*?)/i', "", $temp['item']);

2 个答案:

答案 0 :(得分:4)

尝试:

$itemList[] = preg_replace('/-(.*)$/i', "", $temp['item']);

$符号匹配输入的结尾,因此强制。*抓住结尾。

添加? *之后使它变得不贪婪,这意味着它会抓住最小可能,而不是最大可能,所以在这种情况下,它正是你不想要的。

答案 1 :(得分:2)

你为什么使用非贪婪的*?

$itemList[] = preg_replace('/-.*/i', "", $temp['item']);

此外,没有必要捕获parens。