|
| Kan må få str_replace til kun af udskifte ~ Fra : Michael Jensen |
Dato : 29-09-03 19:53 |
|
Hejsa
Hvis jeg nu har
$str = "foo foo foo foo";
$str = str_replace("foo", "bar", $str);
så bliver $str = "bar bar bar bar";
Er det muligt evt. vha. reg. exp. at kun udskifte det første "foo" og så
ignorer resten?
Så resultatet bliver $str = "bar foo foo foo";
--
Med venlig hilsen
Michael Jensen
Michael[SNABEL]ogj[PRIK]DK
| |
Michael Jensen (29-09-2003)
| Kommentar Fra : Michael Jensen |
Dato : 29-09-03 20:35 |
|
Michael Jensen wrote:
> Hejsa
>
> Hvis jeg nu har
> $str = "foo foo foo foo";
> $str = str_replace("foo", "bar", $str);
> så bliver $str = "bar bar bar bar";
>
> Er det muligt evt. vha. reg. exp. at kun udskifte det første "foo" og
> så ignorer resten?
Ja, jeg fik jo lige en ide efter jeg havde sendt indlægget så her kommer
løsningen:
function fixFirstPageBreak($string)
{
$str_rep = "always"; // what to be replaced
$str_new = "auto"; // what to be new
$pos = strpos($string, $str_rep);
$len = strlen($str_rep);
$string_new = substr_replace($string, $str_new, $pos, $len);
return $string_new;
} // function
--
Med venlig hilsen
Michael Jensen
Michael[SNABEL]ogj[PRIK]DK
| |
Nezar Nielsen (30-09-2003)
| Kommentar Fra : Nezar Nielsen |
Dato : 30-09-03 11:45 |
|
Michael Jensen wrote:
> Er det muligt evt. vha. reg. exp. at kun udskifte det første "foo" og så
> ignorer resten?
Du er godt klar over at str_replace ikke arbejder med regexps ikke ?
anyways:
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [,
int limit])
....
If limit is specified, then only limit matches will be replaced; if
limit is omitted or is -1, then all matches are replaced.
Altså:
<?php
$bar='hello bar bar bar bar bar bar bar';
$foobars = preg_replace("|bar|", "foo", $bar, 1);
?>
--
Mvh. Nezar Nielsen
http://fez.dk/
| |
Michael Jensen (01-10-2003)
| Kommentar Fra : Michael Jensen |
Dato : 01-10-03 10:31 |
|
Nezar Nielsen wrote:
> Michael Jensen wrote:
>
>> Er det muligt evt. vha. reg. exp. at kun udskifte det første "foo"
>> og så ignorer resten?
>
> Du er godt klar over at str_replace ikke arbejder med regexps ikke ?
> anyways:
Jeps det vidste jeg godt.
> mixed preg_replace ( mixed pattern, mixed replacement, mixed subject
> [, int limit])
Arrrh, den funktion havde jeg ikke lige fået læst godt nok
>
> Altså:
>
> <?php
> $bar='hello bar bar bar bar bar bar bar';
> $foobars = preg_replace("|bar|", "foo", $bar, 1);
Jeg prøver at teste lidt på hastigheden for at se hvad der bedst kan betale
sig.
--
Med venlig hilsen
Michael Jensen
Michael[SNABEL]ogj[PRIK]DK
| |
|
|