Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Translator
Forum PHP.pl > Forum > Przedszkole
spoon3r
Witam. Chciałbym napisać prosty translator który zamieniałby wpisany wyraz na inny. Np. wpisuję "Cześć, jestem Kamil" i przetłumacza mi na "Hello, I am Kamil". Każde słowo miałoby swój odpowiednik w pliku tekstowym, czyli skrypt by otwierał plik tekstowy w którym byłoby np. cześć:hello. Niestety nie mam pojęcia jak to zrobić. Mógłbym mi ktoś powiedzieć jakich funkcji mam użyć lub podać jakiś przykład? Z góry dziękuję.
Wicepsik
  1. <?php
  2. $tekst = 'Witaj, jestem Wiceps';
  3. $plik = file('1.txt');
  4.  
  5. foreach($plik as $value) {
  6.     $cos[] = explode(':',$value);
  7. }
  8.  
  9. for($i=0, $j=count($cos); $i<$j ; $i++){
  10.    $tekst = str_replace($cos[$i][0], $cos[$i][1], $tekst);
  11. }
  12.  
  13. echo $tekst; // Hello , I'm spoon3r
  14. ?>


Kod
Witaj:Hello
jestem:I'm
Wiceps:spoon3r
spoon3r
Jesteś wielki! O to właśnie mi chodziło : ) Dziękuję.
bmL
Dla str_replace można przekazać tablicę po co ta dodatkowa pętla?
Wicepsik
Cytat(bmL @ 4.07.2009, 12:54:43 ) *
Dla str_replace można przekazać tablicę po co ta dodatkowa pętla?

Hmm? To może pokaż jak bo jakoś nie udaje mi się to..

Kod
Array
(
    [0] => Array
        (
            [0] => Witaj
            [1] => Hello

        )

    [1] => Array
        (
            [0] => jestem
            [1] => I'm

        )

    [2] => Array
        (
            [0] => Wiceps
            [1] => spoon3r
        )
spoon3r
Jeszcze jedno pytanie.
Mam taki oto kod:
  1. <?php
  2.  
  3.    //Pobieramy dane z formularza
  4. $slowo = $_POST["slowo"];
  5. $tlumaczenie = $_POST["tlumaczenie"];
  6.    //Otwieramy plik do dopisywania i odczytu
  7.  $fp=fopen("slownik.txt", "a+");
  8.    //Zapisujemy dane i oddzielamy znakiem nowej linii
  9.   fwrite($fp, "$slowo:$tlumaczenie");
  10.    //Zamykanie dokumentu
  11.   fclose($fp);
  12. ?>
  13. <script>window.location="add.php"</script>

Ale nie zapisuje mi
słowo:tłumaczenie
słowo2:tłumaczenie2
Tylko tak:
słowo:tłumaczeniesłowo2:tłumaczenie2

Jakaś rada?
phpion
Cytat(Wicepsik @ 4.07.2009, 13:11:35 ) *
Hmm? To może pokaż jak bo jakoś nie udaje mi się to..

  1. <?php
  2. echo str_replace(array('ja', 'jestem', 'spoko'), array('i', 'am', 'cool'), 'ja jestem spoko');
  3. ?>


@sponn3r:
Dodaj znak końca linii czyli \n lub lepiej stałej PHP_EOL:
  1. <?php
  2. fwrite($fp, "$slowo:$tlumaczenie".PHP_EOL);
  3. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.