substr_replace は、文字列の一部を直接置換するという点で str_replace に似ています。
どうやってするの。
substr_replace() 関数は、文字列の一部を別の文字列に置き換えます。
使用方法
substr_replace(文字列,置換,開始,長さ)
文字列に漢字が含まれる場合、特別な処理を行わないと文字化けが発生するので注意してください。
コードは次のとおりです |
コードをコピー |
$string1="123456789";
echo substr_replace($string1,'###',0);
//###
echo substr_replace($string1,'###',5);
//12345###
echo substr_replace($string1,'###',0,0);
//###123456789
echo substr_replace($string1,'###',8,-2);
//12345678###9
echo substr_replace($string1,'###',-6,-1);
//123###9
「ん」をエコーします。
echo substr_replace($string1,'###',-1);
//123###9
「ん」をエコーします。
echo substr_replace($string1,'###',1,-1);
//1###9
echo substr_replace($string1,'###',1,1);
//1###3456789
?>
例 2
コードは次のとおりです
| コードをコピー
$var = 'ABCDEFGH:/MNRPQR/';
echo "オリジナル: $var
n";
/* これらの 2 つの例は、$var をすべて 'bob' に置き換えます。
echo substr_replace($var, 'bob', 0) "
n";
echo substr_replace($var, 'bob', 0, strlen($var)) "
n";
/* $var の先頭に 'bob' を挿入します */ |
echo substr_replace($var, 'bob', 0, 0) "
n";
/* 次の 2 つは、$var の 'MNRPQR' を 'bob' に置き換えます。
echo substr_replace($var, 'bob', 10, -1) " n"; |
echo substr_replace($var, 'bob', -7, -1) "
n";
/* $var から 'MNRPQR' を削除します */
echo substr_replace($var, '', 10, -1) "
n";
?>
原文: ABCDEFGH:/MNRPQR/
ボブ
ボブ
ボブABCDEFGH:/MNRPQR/
ABCDEFGH:/ボブ/
ABCDEFGH:/ボブ/
ABCDEFGH://
長すぎる文字列の一部を省略記号に置き換えます
| 次のプログラムは、長すぎる文字列の先頭と末尾を保持し、中央の省略記号に置き換えることができます。
コードは次のとおりです
コードをコピー
$longString = 'abcdefghijklmnopqrstuvwxyz0123456789z.jpg';
$separator = '...';
$separatorlength = strlen($separator) ;
// 保持する必要がある文字列
$maxlength = 25 - $separatorlength;
// 半分の長さから始めます
$start = $maxlength / 2 ; |
// オフセットを計算します
$trunc = strlen($longString) - $maxlength; |
echo substr_replace($longString, $separator, $start, $trunc);
//「abcdefghij...56789z.jpg」を印刷します
?>
プログラムの実行結果:
abcdefghijk...456789z.jpg
プログラムリスト: 余分な文字を省略記号に置き換えます
コードは次のとおりです |
コードをコピー |
関数 truncate($text,$numb)
{
$text = html_entity_decode($text, ENT_QUOTES);
if (strlen($text) > $numb)
{
$text = substr($text, 0, $numb);
$text = substr($text,0,strrpos($text," "));
// これにより、ピリオドが削除されます:
If ((substr($text, -1)) == ".")
{
$text = substr($text,0,(strrpos($text,"."));
}
$etc = "...";
$text = $text.$etc;
}
$text = htmlentities($text, ENT_QUOTES);
$text を返します;
}
//関数を呼び出す
$text = 'nowamagic へようこそ、nowamagic へようこそ、nowamagic へようこそ';
$result = truncate($text, 35);
エコー $result;
?>
|
さて、この関数が何をするのかはおそらくご存知でしょう。
|
http://www.bkjia.com/PHPjc/632654.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632654.html技術記事 Substr_replace は str_replace に似ており、文字列の一部を直接置換します。操作方法を紹介します。 substr_replace() 関数は文字列を置換します...