PHP代码替换为正则表达式

时间:2013-02-18 04:16:19

标签: php replace expression

我有我的网站系列,通常所有系列都按季节和剧集分开,我有以下字符串: 心理学家S05E14

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

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

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

如何使用正则表达式或其他方式执行此操作?

4 个答案:

答案 0 :(得分:3)

您可以使用:

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

<强> Code Demo

答案 1 :(得分:1)

echo preg_replace( '/S(\d+)E(\d+)/', '\1x\2', $str );

Codepad上的链接。

答案 2 :(得分:0)

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

$e = 'S05E14';
echo implode( 'x', explode( 'E', substr( $e, 1 ) ) );
echo str_replace( array( 'S', 'E' ), array( '', 'x' ), $e );

答案 3 :(得分: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);