以下に、正規表現を使用せずに直接置換する方法、正規表現を使用して文字を置換する方法、PHP 独自の関数を使用して置換する方法など、PHP 開発における文字置換方法をいくつかまとめました。
たとえば、次のような文字列があります: $a='hello world hello pig hello cat hello Dog hello small boy';
次に、3 回目に表示される hello を Good-bye に変更したいと思います。例:
「こんにちは世界、こんにちは豚、さようなら猫、こんにちは犬、こんにちは小さな男の子」
今回の場合、しばらく PHP の組み込み関数が見つからず、正規表現を使用できないことが必要なときに、この単純な関数を作成しました。良い組み込み関数の推奨事項があれば、お願いします。メッセージを残してください:)
コードをコピー | |
/* * $text は入力テキストです * $word は元の文字列です * $cword は置換する必要がある文字列です * $pos は、$text 内で $word が 1 から数えて N 回目に出現する位置を指します * */ 関数changeNstr($text,$word,$cword,$pos=1){ $text_array=explode($word,$text); $num=count($text_array)-1; if($pos>$num){ return "数値が大きすぎます!または $word が見つかりません"; } $result_str=''; for($i=0;$i if($i==$pos-1){ $result_str.=$text_array[$i].$cword }その他{ $result_str.=$text_array[$i].$word; } } rtrim($result_str,$word)を返す } $text='こんにちは世界、こんにちは豚、こんにちは猫、こんにちは犬、こんにちは小さな男の子'; $word='こんにちは'; $cword='さようなら'; echo changeNstr($text,$word,$cword,3); //出力: こんにちは、世界、こんにちは、豚、さようなら、猫、こんにちは、犬、こんにちは、小さな男の子 ?> 規則的なルールはより多くの方法につながります utf-8エンコードの場合 |
コードをコピー
$test = "河北、石家荘、北京、上海 | 天津 | 重慶 | 保定、、、河南、 "; | $result = preg_replace($regex," ",$test);print_r($result); | ?>||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
php関数の置き換え PHP で一般的に使用される正規一致関数の違いは、主に str_replace、str_ireplace、substr_replace、preg_replace、preg_match、preg_match_all、preg_quote、preg_split、ereg_replace、eregi_replace、preg_replace、str_split です。もちろん、それらの中には正規表現を使用できないものもあります。関連する正規関数の関係が曖昧なので、まとめて比較してみます
|
www.bkjia.com