Ik heb een functie geschreven om meerdere woorden in één keer te kunnen vervangen, alleen nu werkt ´ie wel bij een input van "a, b, c" maar niet bij een input van:
"a,
b,
c"
terwijl ik de string wel laat strippen van regeleindes
De functie:
Output GOED:
Output FOUT:
Kan iemand mij dus vertellen hoe ik zorg dat:
"a, b, 3, 4 hoedje van papier" "a, b, c, d hoedje van papier" wordt?
"a,
b,
c"
terwijl ik de string wel laat strippen van regeleindes
De functie:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| ##Uitgebreide versie van de str_replace-functie function AdvanceReplace($sString, $sWordsToBeReplaced, $sReplacements) { //Strippen van e.v.t. spaties en regeleindes $sWordsToBeReplaced = str_replace(" ", "", $sWordsToBeReplaced); $sWordsToBeReplaced = str_replace("\n", "", $sWordsToBeReplaced); $sReplacements = str_replace(" ", "", $sReplacements); $sReplacements = str_replace("\n", "", $sReplacements); //Omzetten naar arrays $sWordsToBeReplaced = explode(",", $sWordsToBeReplaced); $sReplacements = explode(",", $sReplacements); //##################### DIT STRAX MET ARRAY_COMBINE DOEN!!! ################ $i = 0; foreach ($sWordsToBeReplaced as $sWordsToBeReplacedElement) { $sString = str_replace($sWordsToBeReplacedElement, $sReplacements[$i], $sString); $i++; } return($sString); } |
Output GOED:
PHP:
1
2
3
4
5
6
7
| $sWordsToBeReplaced = "1, 2, 3, 4"; $sReplacements= "a, b, c, d"; echo(AdvanceReplace("1, 2, 3, 4 hoedje van papier :)", $sWordsToBeReplaced, $sReplacements)); //Output: a, b, c, d hoedje van papier :) |
Output FOUT:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| $sWordsToBeReplaced = "1, 2, 3, 4"; $sReplacements= "a, b, c, d"; echo(AdvanceReplace("1, 2, 3, 4 hoedje van papier :)", $sWordsToBeReplaced, $sReplacements)); //Output: a, b, 3, 4 hoedje van papier :) |
Kan iemand mij dus vertellen hoe ik zorg dat:
"a, b, 3, 4 hoedje van papier" "a, b, c, d hoedje van papier" wordt?