2

私は自分のサイトをシリーズに持っています、通常すべてのシリーズは季節とエピソードによって分けられます、私は次の文字列を持っています:メンタリスト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 に答える