kostenloser Webspace werbefrei: lima-city


Suchen & ersetzen mittels PHP JS-Dateien online bearbeiten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    s*****n

    Hallo Lima-City Community,

    ich würde gerne in PHP folgendes realisieren und schaff's nicht allein (was heißt ihr ich schaf'fs nicht, ich bin kläglich gescheitert):

    Und zwar will ich mittels PHP in einem Script eine Zeichenfolge Suchen & Ersetzen. Dabei geht es um die Sprachwahl. In meiner Javascript-Datei (umfassend ca. 2800 Zeilen) ist ein Codeschnipsel über die gesamte Länge verteilt. Diesen Codeschnipsel will ich Suchen und Ersetzen, mittels PHP. Der aktuelle Codeschnipsel lautet ganz einfach:
    "en"

    Ich möchte aber, dass man die Sprache wählen kann, dass heißt man wählt einer des Sprachen aus, und je nachdem wie die Wahl ausfällt steht dann anstatt dem "en" ein "de", "fr", "la", "it", "pl", oder "es".
    Nachdem der Codeschnipsel aber geändert wurde muss das PHP-Script aber wissen wie der Neue lautet, da kommt das "Suchen" ins Spiel. Eine If-Schleife könnte im JS-Code nach den Codeschnipseln suchen und den vorhandenen durch den neuen ersetzen. Ich stelle mir das so vor:
    http://shorten.lima-city.de/beispiel.png

    Ich hoffe es hat einer Lust mir zu "helfen", ich mag eigentlich nicht wenn ich nicht mal Ansatzweise mir selber helfen kann.

    Edit: So, ich habe jetzt ein paar Links gesammelt die mir bzw. uns helfen können:
    http://phpforum.de/php/php-handbuch/static/function.str-replace.html
    http://phpforum.de/php/php-handbuch/static/function.file-put-contents.html
    http://phpforum.de/php/php-handbuch/static/function.file-get-contents.html

    Noch ein Edit:
    Dank den Links hab ich jetzt ein gewisses "Grundmodell" auf niedrigerem Neviau.

    HTML:
    <form action="PHP-DATEI" method="post">
    Alt:<input type="text" size="17" name="original">
    Neu:<input type="text" size="17" name="neu">
    <input type="submit" value="&Auml;ndern">
    </form>

    PHP:
    <?php
    $search = $_POST["original"];
    $replace = $_POST["neu"];
    $file = "quiz.js", FILE_USE_INCLUDE_PATH;
    $content = file_get_contents($file);
    $content = str_replace($search, $replace, $content);
    $fh = fopen($file, "w");
    $content = fputs($fh, $content);
    fclose($fh);
    $lines = explode("\n", $content);
    foreach($lines as $key => $line) {
    if(strlen(trim($line)) < 1) {
    unset($lines[$key]);
    }
    }
    $content = join("\n", $lines);
    ?>

    Allerdings bekomme ich einen "Internal Server Error". Kann mir jemand sagen was falsch ist?


    Gruß,
    Alexander

    Beitrag zuletzt geändert: 12.7.2013 21:58:38 von shorten
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Den 500er wirst du deswegen bekommen:

    $file = "quiz.js", FILE_USE_INCLUDE_PATH;
    $content = file_get_contents($file);


    Das ist syntaktisch völliger Käse.

    <?php
    $search = $_POST['original'];
    $replace = $_POST['neu'];
    
    $file = file_get_contents('quiz.js', FILE_USE_INCLUDE_PATH);
    
    $content = str_replace($search, $replace, $file);
    
    $fh = fopen($file, 'w');
    $content = fputs($fh, $content);
    fclose($fh);
    
    $lines = explode('\n', $content);
    
    foreach($lines as $key => $line) {
    	if(strlen(trim($line)) < 1) {
    		unset($lines[$key]);
    	}
    }
    
    $content = join("\n", $lines);


    Den Rest des Textes habe ich bewusst nicht gelesen ;)

    Beitrag zuletzt geändert: 13.7.2013 21:26:13 von fabo
  4. Autor dieses Themas

    s*****n

    Warum das denn!? Wenn du nicht helfen willst dann helf nicht aber bitte nicht sowas :( und es wird eigentlich nicht ein 500er herbeigeführt sondern sollte es einen Parse Error geben.
  5. mal ne gänzlich andere frage,

    wenn du den "content" in eine db schreibst und dem script ein

    "meinschript.php?lang=XX"

    übergibst der dann inne db den entsprechenden content zieht kannste dir den krempel sparen

    tabelle:

    id | content | lang
    1  | ....... | en
    2  | ....... | de


    und generierst die Seite dann entsprechend, und arbeitest im "quiz.js" mit php variablen

    meinevalue = <?php echo $meineVar; ?>;


    das includen des JS 'quiz.js' vor ende des schließenden </body> Tags einfügen.

    oder du machst das ganze generell in JS via jQuery.find(); on action deiner selectbox via listener

    http://api.jquery.com/find/


    Beitrag zuletzt geändert: 14.7.2013 7:14:56 von n0tiert
  6. shorten schrieb:
    Warum das denn!? Wenn du nicht helfen willst dann helf nicht aber bitte nicht sowas :( und es wird eigentlich nicht ein 500er herbeigeführt sondern sollte es einen Parse Error geben.


    Da bei Lima-City das Error-Reporting standardmäßig deaktiviert ist, gibt es einen 500er Fehler und keinen Parse-Error.

    Wenn du nicht helfen willst dann helf nicht aber bitte nicht sowas :(


    Das habe ich getan ;)
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!