ホームページ  >  記事  >  バックエンド開発  >  PHP インターセプト文字列関数 strtr/str_replace

PHP インターセプト文字列関数 strtr/str_replace

巴扎黑
巴扎黑オリジナル
2016-11-22 16:19:071563ブラウズ

/**

* 1. strtr は指定された文字を変換します

*

* string strtr ( string $str , string $from , string $to )

* string strtr ( string $str , array $replace_pairs )

*

* この関数は str のコピーを返し、from で指定された文字を to の対応する文字に変換します。

* from と to の長さが等しくない場合、余分な文字は無視されます。

*/


$str = 'http://flyer0126.iteye.com/';


echo strtr($str, 'IT', 'java');

//出力: http://flyer0126.iteye.com/ strtr は大文字と小文字を区別します


//from と to の長さが等しくない場合、余分な文字は無視されます

echo strtr($str , 'it', 'java');

//出力: haap://flyer0126.jaeye.com/

//iteye --> ja

//http --> に置き換えられるだけです; haap は対応する位置を 1 文字ずつ置き換えますが、これは本来の意図を満たしていません


echo strtr($str, 'it', '');

//output: http://flyer0126.iteye.com / 置換なし


echo strtr($str, 'it', ' ');

//output: http://flyer0126.teye.com/ 置換可能


/**

* 関数 strtr の from->to メソッドの概要:

* 1. 大文字と小文字が区別されます。

* 2. form と to の長さが等しくない場合、余分な文字は無視されます。 「less」を「more」に置き換えることはできません。または「more」を「less」に置き換えることはできません。

* 3. 対応する位置を 1 文字ずつ置き換えます。

* 4. 空のスペースに置き換えることはできませんが、スペースに置き換えることはできます。

*/


// 比較すると、後者の方法が明らかにより適切です

$replace_pairs = array(

'http://'=>'',

'it' = > 'java'

);

echo strtr($str, $replace_pairs);

//output:Flyer0126.javaeye.com/ 置換は成功し、置換の当初の意図に沿っています


/**

* 2.関数 str_replace

*mixed str_replace (mixed $search ,mixed $replace ,mixed $subject [, int &$count ] )

  */


echo str_replace('it', 'java', $str);

//output: http://flyer0126.javaeye.com/

echo str_replace(array ('http', ' :', '//', '/'), '', $str);

//出力:Flyer0126.iteye.com

echo str_replace(array('http', 'it ', '/') 、array('https', 'java', ''), $str);

//出力: https:flyer0126.javaeye.com


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。