|
|
 |
substr_replace (PHP 4 ) substr_replace -- Replace text within a portion of a string Descriptionstring substr_replace ( string string, string replacement, int start [, int length])
substr_replace() replaces a copy of
string delimited by the
start and (optionally)
length parameters with the string given in
replacement. The result is returned.
If start is positive, the replacing will
begin at the start'th offset into
string.
If start is negative, the replacing will
begin at the start'th character from the
end of string.
If length is given and is positive, it
represents the length of the portion of
string which is to be replaced. If it is
negative, it represents the number of characters from the end of
string at which to stop replacing. If it
is not given, then it will default to strlen(
string ); i.e. end the replacing at the
end of string.
Àý×Ó 1. substr_replace() example <?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr>\n";
/* These two examples replace all of $var with 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br>\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br>\n";
/* Insert 'bob' right at the beginning of $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br>\n";
/* These next two replace 'MNRPQR' in $var with 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br>\n";
echo substr_replace($var, 'bob', -7, -1) . "<br>\n";
/* Delete 'MNRPQR' from $var. */
echo substr_replace($var, '', 10, -1) . "<br>\n";
?> |
|
See also str_replace() and
substr().
User Contributed Notes substr_replace |
 |
jgainey at infoave dot net
13-Mar-2001 07:29 |
|
[Editor's note: for a much simpler solution, use
number_format()]
I had a situation in which I needed to add a
comma to the third position of a number(the price of
something).
$price = "12000";
$price =
substr_replace ($price, ',', -3, 0)";
the result would be
12,000
the -3 counts from right to left. a regular 3 would count
from left to right
I hope this helps...
|
|
stefan at maifei dot com
01-Apr-2001 02:33 |
|
If you are trying to use -0, I don't think it works. For example:
substr_replace($file,'',-4,0)
There may be an
alternative though...
|
|
mrbrown8 at juno dot com
16-Apr-2001 01:16 |
|
Just to add to the examples, if replacement is longer than length, only the
length number of chars are removed from string and all of replacement is
put in its place, and therefor strlen($string) is inreased.
$var
= 'ABCDEFGH:/MNRPQR/';
/* Should return ABCDEFGH:/testingRPQR/
*/
echo substr_replace ($var, 'testing', 10, 2);
|
|
|
28-Sep-2001 09:30 |
|
If you would like to remove characters from the start or end of a string,
try the substr() function.
For example, to remove the last three
characters from a string:
$string = "To be or not to
be.";
$string = substr ($string, 0, -3);
|
|
klaas at group94 dot com
13-Feb-2002 11:38 |
|
THE DOT DOT DOT ISSUE
PROBLEM: You want to abbreviate a
string. E.g. You want "BritneySpears" to show as
"BritneySpe...", being only the ten first characters followed by
"..."
SOLUTION: <? $oRIGINAL =
"BritneySpears"; $sHORTER = substr_replace($oRIGINAL, '...',
10); echo ($sHORTER); ?>
This will result in BritneySpe...
|
|
thomasNOSPAM at sportentranceNOSPAM dot com
08-Oct-2002 04:01 |
|
To abbreviate links into '...' if they outreach a certain amount of space;
use the preg_replace function instead.
For instance you grabbed the
headlines of a news site for use on your own page and the lines are to
long:
asuming the raw material is stored in
$unedited;
$edited =
preg_replace("/(>)([[:print:]]{52,})(<)/e",
"'\\1'.substr_replace('\\2 ', '...', '48').'\\3'",
$unedited); echo $edited;
This will shorten strings longer than
52 characters into 51 characters, with the last being three dots...
|
|
 |
| |