Welkom, Gast. Je bent niet ingelogd.

replace werkt niet

Hunterseaker
Geplaatst op: 21 Feb 2007, 21:39
PimpCoins: 0
💸+
Bewerken Quote

eey,

Ik ben bezig met een script dat input codeert naar een geheimschrift dat door caesar is uitgevonden: een A wordt een D, een B wordt een E etc, alles schuift dus 3 plekken op, ik heb voor het vervangen, str_replace ereg_replace en preg_replace geprobeerd maar toch werkt de boel niet,
als ik alle letters van het alfabet op qwerty volgorde invoor is mijn output dit:
c c c a c b a a a b b b b a b c b c a c a a b c c b.
Hij vervangt de letters dus niet goed.

Dit is het simpele stukje script dat ik heb gebruikt:

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
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php
if (isset($_POST['submit'])) {
$code = $_POST['code'] ;
$code = str_replace('a', ' d ', $code); //replace X by 3 letters forward
$code = str_replace('b', ' e ', $code); 
$code = str_replace('c', ' f ', $code); 
$code = str_replace('d', ' g ', $code); 
$code = str_replace('e', ' h ', $code); 
$code = str_replace('f', ' i ', $code); 
$code = str_replace('g', ' j ', $code); 
$code = str_replace('h', ' k ', $code); 
$code = str_replace('i', ' l ', $code); 
$code = str_replace('j', ' m ', $code); 
$code = str_replace('k', ' n ', $code); 
$code = str_replace('l', ' o ', $code); 
$code = str_replace('m', ' p ', $code); 
$code = str_replace('n', ' q ', $code); 
$code = str_replace('o', ' r ', $code); 
$code = str_replace('p', ' s ', $code); 
$code = str_replace('q', ' t ', $code); 
$code = str_replace('r', ' u ', $code); 
$code = str_replace('s', ' v ', $code); 
$code = str_replace('t', ' w ', $code); 
$code = str_replace('u', ' x ', $code); 
$code = str_replace('v', ' y ', $code); 
$code = str_replace('w', ' z ', $code); 
$code = str_replace('x', ' a ', $code); 
$code = str_replace('y', ' b ', $code); 
$code = str_replace('z', ' c ', $code); 
echo "Dit is uw gecodeerde bericht: ".$code."";
}
else{
?>
<form action="?code" method="post">
<input type="text" size="100" name="code" />
<input type="submit" name="submit" value="codeer!" />
<?php
}
?>

Ik heb al begrepen dat dit niet kan werken omdat niet elke letter appart wordt gereplaced?
maar waarom niet? dit werkt toch ook:
1
2
$email = str_replace('.', ' DOT ', $email); //replace . by dot
$email = str_replace('@', ' AT ', $email); //replace @ by at

Ik had al iets gehoord over met een array werken, maar ik heb geen idee hoe ik dat zou moeten doen? kan iemand me hier mee helpen?

Triple
Geplaatst op: 21 Feb 2007, 21:45
PimpCoins: 0
💸+
Bewerken Quote

Hunterseaker schreef:

eey,

Ik ben bezig met een script dat input codeert naar een geheimschrift dat door caesar is uitgevonden: een A wordt een D, een B wordt een E etc, alles schuift dus 3 plekken op, ik heb voor het vervangen, str_replace ereg_replace en preg_replace geprobeerd maar toch werkt de boel niet,
als ik alle letters van het alfabet op qwerty volgorde invoor is mijn output dit:
c c c a c b a a a b b b b a b c b c a c a a b c c b.
Hij vervangt de letters dus niet goed.

Dit is het simpele stukje script dat ik heb gebruikt:
[...]

Ik had al iets gehoord over met een array werken, maar ik heb geen idee hoe ik dat zou moeten doen? kan iemand me hier mee helpen?


vb van array:
1
2
3
4
5
6
7
8
<?php
$array = array ("
'a' => 'd',
'b' => 'e',
'c' => 'f'
");
echo "Uw gecodeerde bericht is: ".$array;
?>

[Laatst bewerkt door Triple op woensdag 21 februari 2007, om 21:49]
Hunterseaker
Geplaatst op: 21 Feb 2007, 21:46
PimpCoins: 0
💸+
Bewerken Quote

Triple schreef:

[...]
vb van array:
[...]

Dit gaat niet werken denk ik, er moet een boodschap gecodeerd worden, dus vanuit een tekstveld.....
Ik denk dat ik gewoon ff een denkfout maak en een zeer eenvoudige oplossing over het hoofd zie...

[Laatst bewerkt door Hunterseaker op woensdag 21 februari 2007, om 21:47]
Lennard
?
Geplaatst op: 21 Feb 2007, 21:51
PimpCoins: 0
💸+
Bewerken Quote

Kijk:

Jij vervangt een a door een d.
Maar een d vervang jij weer door een g, en die weer door een j.

2 oplossingen:
- Begin bij de "z" met vervangen.
- Ga het gewoon met de ASCII tabel oplossen; gewoon overal 3 bij optellen, is veel korter enzo.
Als ik tijd heb zal ik straks eens iets maken.

Hunterseaker
Geplaatst op: 21 Feb 2007, 21:55
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

Kijk:

Jij vervangt een a door een d.
Maar een d vervang jij weer door een g, en die weer door een j.

2 oplossingen:
- Begin bij de "z" met vervangen.
- Ga het gewoon met de ASCII tabel oplossen; gewoon overal 3 bij optellen, is veel korter enzo.
Als ik tijd heb zal ik straks eens iets maken.


ah ik snap hem, over dat steeds vervangen etc dan.
Die ASCII tabel vind ik nogal vaag, dus zou mooi zijn als je daar een voorbeeldje van zou kunnen maken indd

Edit: bij Z beginnen gaat ook niet werken denk ik, want de Z is de C maar die wordt later weer vervangen....

[Laatst bewerkt door Hunterseaker op woensdag 21 februari 2007, om 21:56]
Artofdead
Master Fish
Geplaatst op: 21 Feb 2007, 22:07
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

Kijk:

Jij vervangt een a door een d.
Maar een d vervang jij weer door een g, en die weer door een j.

2 oplossingen:
- Begin bij de "z" met vervangen.
- Ga het gewoon met de ASCII tabel oplossen; gewoon overal 3 bij optellen, is veel korter enzo.
Als ik tijd heb zal ik straks eens iets maken.


heb jij tijd?

Lennard
?
Geplaatst op: 21 Feb 2007, 22:08
PimpCoins: 0
💸+
Bewerken Quote

Zoiets?

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
$bericht = "eey,

Ik ben bezig met een script dat input codeert naar een geheimschrift dat door caesar is uitgevonden: een A wordt een D, een B wordt een E etc, alles schuift dus 3 plekken op, ik heb voor het vervangen, str_replace ereg_replace en preg_replace geprobeerd maar toch werkt de boel niet,
als ik alle letters van het alfabet op qwerty volgorde invoor is mijn output dit:
c c c a c b a a a b b b b a b c b c a c a a b c c b.
Hij vervangt de letters dus niet goed.

Dit is het simpele stukje script dat ik heb gebruikt:";

$len = strlen($bericht);

for($i = 0; $i < $len; $i++)
{
    
    $ord = ord($bericht{$i});
    
    if($ord > 64 && $ord < 91)
    {
        
        $ord += 3;
        
        if($ord > 90)
        {
            
            $ord -= 26;
        
        }
    
    }
    elseif($ord > 96 && $ord < 123)
    {
        
        $ord += 3;
        
        if($ord > 122)
        {
            
            $ord -= 26;
        
        }
    
    }
    
    echo chr($ord);

}
?>

dat geeft:

1
2
3
4
5
6
7
8
hhb,

Ln ehq ehclj phw hhq vfulsw gdw lqsxw frghhuw qddu hhq jhkhlpvfkuliw gdw grru fdhvdu lv xlwjhyrqghq: hhq D zrugw hhq G, hhq E zrugw hhq H hwf, doohv vfkxliw gxv 3 sohnnhq rs, ln khe yrru khw yhuydqjhq, vwu_uhsodfh huhj_uhsodfh hq suhj_uhsodfh jhsurehhug pddu wrfk zhunw gh erho qlhw,
dov ln dooh ohwwhuv ydq khw doidehw rs tzhuwb yrojrugh lqyrru lv plmq rxwsxw glw:
f f f d f e d d d e e e e d e f e f d f d d e f f e.
Klm yhuydqjw gh ohwwhuv gxv qlhw jrhg.

Glw lv khw vlpshoh vwxnmh vfulsw gdw ln khe jheuxlnw:

Edit: Even voorbeeldje aangepast.

[Laatst bewerkt door Lennard op woensdag 21 februari 2007, om 22:09]
Maarten
Geplaatst op: 21 Feb 2007, 22:17
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

Zoiets?

[...]

Edit: Even voorbeeldje aangepast.


dat voorbeeld is wel cool.. snap er geen zak van maja

Hunterseaker
Geplaatst op: 21 Feb 2007, 23:10
PimpCoins: 0
💸+
Bewerken Quote

Lennard schreef:

Zoiets?

[...]

Edit: Even voorbeeldje aangepast.


Bedankt man, het werkt perfect, ik zal nu zelf proberen om er op een zelf in te stellen plek spaties tussen te krijgen, heb je missch wle een tip hoe ik dat kan aanpakken?
Mijn bedoeling is dus dat er op bepaalde plekken spaties komen, nu is de tekst aan elkaar, maar ik wil dat ik kan instellen om de hoeveel tekens er een spatie moet komen, heeft iemand een suggestie hoe ik dat moet doen? ik denk iets met strlen en een for lus?

hoewel ik het zelf wil proberen aan de hand van wat hints vind ik het niet erg als iemand een klein voorbeeldje geeft

[Laatst bewerkt door Hunterseaker op woensdag 21 februari 2007, om 23:12]
📫

Nieuw privébericht

🔥

Registreren


Login