PHP在最后一个字符实例之前删除所有内容。

时间:2022-09-07 20:23:51

Is there a way to remove everything before and including the last instance of a certain character?

是否有一种方法可以删除某个字符之前和最后一个实例的所有内容?

I have multiple strings which contain >, e.g.

我有多个包含>的字符串,例如。

  1. the > cat > sat > on > the > mat

    > cat >在> >席上>。

  2. welcome > home

    >欢迎回家

I need the strings to be formatted so they become

我需要对字符串进行格式化

  1. mat

  2. home

1 个解决方案

#1


23  

You could use a regular expression...

你可以使用正则表达式……

$str = preg_replace('/^.*>\s*/', '', $str);

CodePad.

CodePad。

...or use explode()...

…或者使用爆炸()……

$tokens = explode('>', $str);
$str = trim(end($tokens));

CodePad.

CodePad。

...or substr()...

…或substr()……

$str = trim(substr($str, strrpos($str, '>') + 1));

CodePad.

CodePad。

There are probably many other ways to do it. Keep in mind my examples trim the resulting string. You can always edit my example code if that is not a requirement.

可能还有很多其他的方法。请记住我的示例修饰结果字符串。如果这不是必需的,您可以编辑我的示例代码。

#1


23  

You could use a regular expression...

你可以使用正则表达式……

$str = preg_replace('/^.*>\s*/', '', $str);

CodePad.

CodePad。

...or use explode()...

…或者使用爆炸()……

$tokens = explode('>', $str);
$str = trim(end($tokens));

CodePad.

CodePad。

...or substr()...

…或substr()……

$str = trim(substr($str, strrpos($str, '>') + 1));

CodePad.

CodePad。

There are probably many other ways to do it. Keep in mind my examples trim the resulting string. You can always edit my example code if that is not a requirement.

可能还有很多其他的方法。请记住我的示例修饰结果字符串。如果这不是必需的,您可以编辑我的示例代码。