SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 15.07.2006, 22:34:51
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
Übersetzungs Script - Zwei Wörter aus der DB

Hallo

Ich habe hier mein Übersetzungs Script erstellt mit großer hilfe von Andes.

Aber wenn ich jetzt zwei Wörter in der DB als ein Wort, z.B als Redewendung habe, speichere. Wird nur das letzte wort der zwei oder drei wieder angezeigt.

Wie bekomme ich das hin?

Hier ist das Script:

PHP-Code:
<html>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
  <p>Text:<br>
      <textarea name="wort"><? if(isset($_POST['wort'])) echo($_POST['wort']); ?></textarea>
      Sprache: 
      <select name="sprache" size="1">
        <option  value="de|en">Deutsch - Englisch</option>
        <option  value="en|de">Englisch - Deutsch</option>
              </select>
      <input type="submit" name="submit" value="Los">
    
  </form>

</html>
    
<?php

if(isset($_POST['wort'])) {
    
$string $_POST['wort']; 
    
$sprache $_POST['sprache'];
    
    
//Ausgewählte Übersezung, String teilen
    
$sprache_array explode("|"$sprache);
    
//Wort, von der Sprache
    
$wort_von $sprache_array[0];
    
//in die Sprache übersetzt werden soll
    
$wort_in $sprache_array[1]; 
    
    
setlocale(LC_CTYPE"de_DE");                                 //Dies in deinem Script notieren ansonsten werden dir auch alle Umlaute mit entfernt  
    
    
$entf[0] = "/\W/";                                            //entfernt alle Sonderzeichen aus dem Satz, auch Leerzeichen    
    
$einf[0] = " ";                                               //setzt für alle entfernten Sonderzeichen ein Leerzeichen ein  
    
$entf[1] = "/( ){2,}/";                                     //ersetzt alle doppelten Leerzeichen  
    
$einf[1] = " ";                                             //durch ein Leerzeichen  
    
$entf[2] = "/( )$/";                                        //ersetzt ein Leerzeichen am Ende  
    
$einf[2] = "";                                              //durch nichts  
    
$entf[3] = "/ /";                                           //ersetzt alle Leerzeichen  
    
$einf[3] = "' or wort_".$wort_von." like '";     //mit diesem    
    
    
$satz preg_replace($entf$einf$string);
    
    
$sql "SELECT wort_".$wort_von." as entfernen, wort_".$wort_in." as einfügen  FROM uebersetzer WHERE wort_".$wort_von." like '$satz'";  
    
$query mysql_query($sql) or die(mysql_error()); 
    if(
mysql_num_rows($query) > 0) {    
        while(
$row mysql_fetch_object($query))
        {   
            
//Treffer in Array speichern
            
$ausg_entf[] = "/\b".$row->entfernen."\b/i";    $ausg_einf[] = $row->einfügen;  
        } 
        
        
//Ausgabe mit preg_replace
        //ersetze eingegebene Wörte mit übersetzten Wörtern
        
echo preg_replace($ausg_entf$ausg_einf$string);  
    }
    else {
                echo 
$string;
    }  
}

Geändert von theaims (16.07.2006 um 12:19:39 Uhr)
Mit Zitat antworten
  #2  
Alt 16.07.2006, 12:48:35
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Übersetzungs Script - Zwei Wörter aus der DB

Sry wegen Doppelpost aber ich wollte dazu noch etwas sagen.

Vielleicht klingt das oben so als sollt ihr mir das Coden. Aber ich möchte nur einen Ansatz haben.....
Mit Zitat antworten
  #3  
Alt 16.07.2006, 13:01:28
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Übersetzungs Script - Zwei Wörter aus der DB

Dann musst du dir halt Kennzeichen setzen, ob der eingegebene Satz Wort für Wort, als ganzer Satz oder ein Teil des Satzes als zusammenhängender String übersetzt werden soll.

Für Wort für Wort oder als ganzen Satz übersetzen, kannst du dir Auswahlfelder einbauen.
Bei einem Teilstring muss halt schon bei der Eingabe ein Begrenzer mit eingegeben werden.

Bei letzteren hast du allerdings mit der Ausgabe ein Problem, wenn in dem Satz ein Wort vorkommt, welches auch in dem Teilstring steht. Dann kann es sein das preg_replace() das einzelne Wort vor deinem Teilstring findet/ersetzt und somit findet er für den Teilstring keine Übereinstimmung mehr.
__________________
Grüße Andes

Geändert von Andes (16.07.2006 um 13:02:14 Uhr)
Mit Zitat antworten
  #4  
Alt 16.07.2006, 13:52:50
theaims theaims ist offline
Anfänger
 
Registriert seit: Jun 2006
Beiträge: 70
AW: Übersetzungs Script - Zwei Wörter aus der DB

Hm also ich weiß nicht ob du mich richtig verstanden hast.

Ich versuche es noch mal zu erklären.

Also im Deutschen gibt es ja redewendungen. Das ist nur ein Wort und im Englischen sind das halt zwei Wörter und diese zwei Wörter speichere ich als "ein" Wort in der DB. Und da soll halt wenn ich in deutsch das eine Wort eingebe in Englisch die zwei Wörter wieder rauskommen. Aber es kommt nur das zweite und nicht das erste. Und kann man das auch ohne eine extra auswahlbox machen? Das er das halt immer macht? Weil Google.de schafft das ja auch.
Mit Zitat antworten
  #5  
Alt 16.07.2006, 16:02:55
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Übersetzungs Script - Zwei Wörter aus der DB

Ach so, solange es in der Originalsprache ein Wort und in der übersetzten Sprache mehrere Worte sind, brauchst du nichts zu ändern.
Das muss eigentlich so funktionieren. Bei mir werden zumindest dann alle Wörter auch ausgegeben.
Hast du dir mal die Treffer direkt anzeigen lassen und kommt das eingegebene Wort auch nicht zwei Mal mit unterschiedlichen Übersetzungen in deiner Tabelle vor?
__________________
Grüße Andes
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler in Script das Inhalt einer .txt Datei (HTML Sourcecode) in Datei schreiben sol RookieXL2 PHP für Fortgeschrittene und Experten 2 08.06.2007 23:58:33
Übersetzungs Script theaims PHP Grundlagen 73 12.07.2006 17:51:13
Daten aus SQL datenbank nach php script ausführung weg Kaldoran PHP Grundlagen 3 23.06.2006 22:23:01
Strings per PHP an ein anderes Script übergeben ? quirrly PHP Grundlagen 18 23.12.2004 15:20:39
Suche "Länder" Script.. Nomad PHP für Fortgeschrittene und Experten 15 25.02.2003 23:00:25


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:40:03 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt