welke numerieke waarde dan ook
Bob v H
08/07/2009 22:03:00Beste,
Ik wil in een string een stukje tekst replacen door een ander stukje tekst. Het is echter het geval dat in het stukje tekst een willekeurige numerieke waarde staat. Zo ziet het er ongeveer uit:
str_replace('Begin stukje te vervangen tekst'.WELKE NUMERIEKE WAARDE DAN OOK.'einde van het te vervangen stukje tekst', 'vervangende tekst', $string);
Kan iemand me vertellen wat ik moet invullen waar nu "WELKE NUMERIEKE WAARDE DAN OOK" staat?
Bob
Ik wil in een string een stukje tekst replacen door een ander stukje tekst. Het is echter het geval dat in het stukje tekst een willekeurige numerieke waarde staat. Zo ziet het er ongeveer uit:
str_replace('Begin stukje te vervangen tekst'.WELKE NUMERIEKE WAARDE DAN OOK.'einde van het te vervangen stukje tekst', 'vervangende tekst', $string);
Kan iemand me vertellen wat ik moet invullen waar nu "WELKE NUMERIEKE WAARDE DAN OOK" staat?
Bob
PHP hulp
24/12/2024 03:28:30Ben
09/07/2009 09:54:00iets met een loopje, is_int() en substr()? Daar kun je wel een simpele functie mee maken wat je probleem zou oplossen.
Emmanuel Delay
09/07/2009 15:06:00Krop Kroppyer
09/07/2009 15:29:00Ik geloof dat je gewoon dit kan doen:
kortom: wat je moet invullen op de plaats waar "WELKE NUMERIEKE WAARDE DAN OOK" staat is gewoon de numerieke waarde.
in andere programmeertalen is dat anders, maar in PHP kan je, als je bijvoorbeeld de string "11" hebt en je telt er 2 bij op krijg je als uitkomst een integer met de waarde 13. Het is wel slordig om het zo te doen.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$nWaarde = rand(0,9); //jij hebt waarschijnlijk een andere waarde
$sVervang= "huisnr: " . $nWaarde . "B";
$sResult = str_replace($sVervang,"vervangende tekst",$sAdressen);
?>
$nWaarde = rand(0,9); //jij hebt waarschijnlijk een andere waarde
$sVervang= "huisnr: " . $nWaarde . "B";
$sResult = str_replace($sVervang,"vervangende tekst",$sAdressen);
?>
kortom: wat je moet invullen op de plaats waar "WELKE NUMERIEKE WAARDE DAN OOK" staat is gewoon de numerieke waarde.
in andere programmeertalen is dat anders, maar in PHP kan je, als je bijvoorbeeld de string "11" hebt en je telt er 2 bij op krijg je als uitkomst een integer met de waarde 13. Het is wel slordig om het zo te doen.
Joren de Wit
09/07/2009 15:35:00Gebruik hiervoor preg_replace(). Een voorbeeldje:
De gebruikte reguliere expressie is nog vrij algemeen, elke string waar nu een cijfer in voorkomt, zal vervangen worden. Mogelijk dat je hem zelf iets stricter wilt maken.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$sString = 'Een stuk tekst 1320 nog een stukje';
$sVervangen = preg_replace('_.+[0-9]+.+_', 'Vervangende tekst', $sString);
echo $sVervangen;
?>
$sString = 'Een stuk tekst 1320 nog een stukje';
$sVervangen = preg_replace('_.+[0-9]+.+_', 'Vervangende tekst', $sString);
echo $sVervangen;
?>
De gebruikte reguliere expressie is nog vrij algemeen, elke string waar nu een cijfer in voorkomt, zal vervangen worden. Mogelijk dat je hem zelf iets stricter wilt maken.