2

我有我的系列网站,通常所有系列都按季节和剧集划分,我有以下字符串:The Mentalist S05E14

where **S05E14** is like **Episode 14 Season 05**我需要更改表达式:

**S05E14** 
   for 
**05x14**

此外,对于任何季节和剧集,我都会删除“S”并将“E”替换为“x”

我怎样才能使用正则表达式或其他方式来做到这一点?

4

4 回答 4

3

您可以使用:

$repl = preg_replace('/S(\d+)E(\d+)/i', '$1x$2', 'S05E14');

代码演示

于 2013-02-18T04:19:35.693 回答
1
echo preg_replace( '/S(\d+)E(\d+)/', '\1x\2', $str );

键盘上的链接。

于 2013-02-18T04:22:11.447 回答
0

2种没有正则表达式的方法

$e = 'S05E14';
echo implode( 'x', explode( 'E', substr( $e, 1 ) ) );
echo str_replace( array( 'S', 'E' ), array( '', 'x' ), $e );
于 2013-02-18T04:20:27.263 回答
0

尝试这个:

$string_val="The Mentalist S05E14";
$data = explode(' ', $text);
$count = count($data);
$last_word = $data[$count-1];
$newStr = str_replace("S", "", $last_word);
$newStr = str_replace("E", "x", $newStr);
于 2013-02-18T04:24:52.180 回答