正则表达式从字符串中删除开始和结束字符?

Joh*_*ohn 3 php regex

假设我有一个像这样的字符串:

$file = 'widget-widget-newsletter.php';
Run Code Online (Sandbox Code Playgroud)

我想使用preg_replace()删除前缀widget-并删除后缀.php.是否可以使用一个正则表达式来实现这一切?

结果字符串应该是widget-newsletter.

Joh*_*ica 8

$file = preg_replace('/^widget-|\.php$/', '', $file);
Run Code Online (Sandbox Code Playgroud)


Fel*_*lix 5

为什么不使用substr?更简单和更快。