PHP删除最后的所有字符 - 字符

时间:2018-01-30 00:11:53

标签: php string

我正在尝试在我的网站上列出一些标题,但这些标题还包含我想要隐藏的信息,例如:

  

极品飞车 - 更新1.02

     

海贼王:海盗勇士3 - 0

     

Toukiden:Kiwami - Demo - 0

如您所见,这些标题最后包含数字- {num},或Update {num}

我试图用这个删除它们:

$displayname = substr($item['displayname'], 0, strpos($item['displayname'], ' - '));

这适用于某些标题,但不包含这些字符的标题将被删除,如LIMBO

我正在努力寻找一个完美的解决方案。我曾考虑使用正则表达式在标题末尾找到- Update {random}- {random}来替换它,但我不确定如何执行此操作。

我希望有人可以帮助我!

3 个答案:

答案 0 :(得分:1)

如果你必须在最后一个' - '之后删除字符串的最后一部分,你可以使用它:

$newTitle = substr($title, 0, strripos($title, '-') -1 );

检查文件:

substrstrripos

希望能帮助你。

答案 1 :(得分:0)

你可以试试这个

func f2(_ n: Int) -> Int {
return (1 + ((n-1) % 9))
}
f2(52) //7

这将删除任何' - '之后的任何信息,任何没有' - '的信息仍会有效。

答案 2 :(得分:0)

我认为你需要做这样的事情:

function stripEnd($title){
  return preg_replace('/\-\s*(Update\s*)?[0-9.]+$/', '', $title);
}
$need = stripEnd('Need For Speed - Update 1.02');
$piece = stripEnd('One Piece: Pirate Warriors 3 - 0');
$kiwami = stripEnd('Toukiden: Kiwami - Demo - 0');