tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
395
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Hallo!

    Ich möchte ein kleines Script erstellen, das folgende Aufgabe erfüllt:
    Ein Text , der über ein Formular eingelesen wird, soll in einer Art "Grossschrift über Tables" umgewandelt werden. Im angehängten ZIP-File ist eine chars.php die mal 4 Testbuchstaben mit HTML-Code enthält.

    Ich hab mir gedacht es wäre sinnvoll, das Ganze Buchstabe für Buchstabe in ein Array einzulesen und dann dieses Array mit einem str_replace durchzuarbeiten. Aber irgendwie führt das nicht zum gewünschten Ergebnis.

    Ich hoffe ich hab mich halbwegs verständlich ausgedrückt.

    Vielen Dank für eure Hilfe und
    Grüße aus Wien

    Christian
    Angehängte Dateien Angehängte Dateien
     

  2. #2
    Avatar von dave_
    dave_ dave_ ist offline Mitglied Brilliant
    Registriert seit
    Apr 2001
    Ort
    Bayern
    Beiträge
    974
    Du möchtest die Buchstaben die eingegeben werden in Großbuchstaben umwandeln?

    Ich habe mir das script nicht angesehen, und aus deiner Frage kann ich nicht mehr herauslesen.

    Dafür gibt es die Funktion mb_strtoupper

    http://de2.php.net/manual/de/function.mb-strtoupper.php
     

  3. #3
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Nein.
    Ist schwer zu erklären: Ein eingegebener Text soll in schwarzen blöcken in einer Tabelle dargstellt werden. Also der Buchstabe D soll z.b. dann so aussehen:

    http://www.christopherdavid.at/images/d.jpg

    Hoffe jetzt kennt man sich ein bisschen besser aus was ich meine
    Also kurz gesagt geht es darum, jeden Buchstaben aus einem Text durch einen längeren HTML-Code mit einer Tabelle zu ersetzen.

    Danke!

    Christian
    Geändert von MaxMara (06.02.04 um 14:58 Uhr)
     

  4. #4
    Sebastian W Sebastian W ist offline Mitglied Silber
    Registriert seit
    Jan 2003
    Ort
    München
    Beiträge
    58
    PHP-Code:
    $arr1 str_split('ABCD');

    foreach(
    $arr1 as $key => $value) {
        echo ${(
    ord($value) < 97 'gross' 'klein') . strtolower($value)};

    Wenn Sonderzeichen, schau dir mal ord() und chr() an. Dann sagste einfach, if(ord($value) > xxxx ) dann Sonderzeichen...
    Geändert von Sebastian W (06.02.04 um 18:05 Uhr)
     
    Gruß, Sebastian

    Flash Community
    http://www.flashhilfe.de

  5. #5
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Hi Sebastian!

    Danke für den Beitrag. Nur ist es leider nicht das was ich brauche, bzw. gefragt habe.
    Ich brauch eine Funktion die mir Buchstaben (egal ob gross oder klein) durch einen von mir vorgegebenen HTML-Code ersetzt.

    Grüße
    Christian
     

  6. #6
    Sebastian W Sebastian W ist offline Mitglied Silber
    Registriert seit
    Jan 2003
    Ort
    München
    Beiträge
    58
    Also bei mir gings mit deinem Beispiel... na ja... ich mach jetzt WE.
     
    Gruß, Sebastian

    Flash Community
    http://www.flashhilfe.de

  7. #7
    Avatar von dave_
    dave_ dave_ ist offline Mitglied Brilliant
    Registriert seit
    Apr 2001
    Ort
    Bayern
    Beiträge
    974
    Habe mir dein script mal angesehen

    Zunächst mal würde ich unbedingt die variablen für alle buchstaben (also in chars.php) zu einem array machen

    $html["a"] = ..
    usw

    dann kannst du dir ein einfaches script bauen, in etwa so:

    PHP-Code:
    <? 
    $str 
    "ab";

    function 
    atari($str){
        include (
    "chars.php");
        
    $str strtolower($str);

        
    $buchstaben =  preg_split('//'$str, -1PREG_SPLIT_OFFSET_CAPTURE);
        
        foreach(
    $buchstaben as $buchstabe){
            echo 
    $htmlarr["a"];
        }
    }

    atari($str);
    ?>
    jetzt nicht perfekt getestet, aber das ist doch deutlich einfacher

    gruss, dave
    Geändert von dave_ (06.02.04 um 19:14 Uhr)
     

  8. #8
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Hallo Dave!

    Danke für die Antwort. Werd ich am Montag gleich mal ausprobieren. Komme von daheim leider nicht auf den FTP

    Danke erstmals...
    Grüße
    Christian
     

  9. #9
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Hmm... da hat's was

    Warning: Illegal offset type in parsesms.php on line 11....

    Im Script Zeile 11 steht folgendes:

    PHP-Code:
    echo "<td>".$html[$buchstabe]."</td>"
    Bitte um Hilfe.

    Danke Christian
     

  10. #10
    Avatar von dave_
    dave_ dave_ ist offline Mitglied Brilliant
    Registriert seit
    Apr 2001
    Ort
    Bayern
    Beiträge
    974
    Ein bisschen mehr code müsstest du schon noch posten.
    Irgendwoher kenn ich die meldung zwar, aber kanns gerade nicht zuordnen
     

  11. #11
    MaxMara MaxMara ist offline Mitglied Silber
    Registriert seit
    Jan 2004
    Ort
    Wien
    Beiträge
    76
    Sorry

    Kurzer Auszug aus der aktuellen chars.php:
    PHP-Code:
    $html["A"]="
    <table border=\"1\" cellspacing=\"2\" bordercolor=\"#CCCCCC\">
    <tr> 
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    </tr>
    <tr> 
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\">&nbsp;</td>
    <td width=\"40\" height=\"15\" bgcolor=\"#000000\">&nbsp;</td>
    </tr>
    </table> 
    Und das eigentliche Script sieht zur Zeit so aus:
    PHP-Code:
    function atari($str){ 
        include (
    "chars.php"); 
        
    //$str = strtolower($str); 

        
    $buchstaben =  preg_split('//'$str, -1PREG_SPLIT_OFFSET_CAPTURE); 
        echo (
    "<table><tr>"); 
        foreach(
    $buchstaben as $buchstabe){ 
             echo 
    "<td>".$html[$buchstabe]."</td><td>".$html["leer"]."</td>"
        } 
        echo (
    "</table></tr>");
    }

    $sms="HALLO";
    atari($sms); 
    Was mir jetzt ein wenig seltsam erscheint. Auf dem Server eines Freundes (auch Linux und gleiche PHP Version) funktioniert das Script...

    Grüße
    Christian
     

  12. #12
    Avatar von dave_
    dave_ dave_ ist offline Mitglied Brilliant
    Registriert seit
    Apr 2001
    Ort
    Bayern
    Beiträge
    974
    du musst halt immer versuchen schritt für schritt den fehler zu suchen

    kannst du in der funktion auf das array zugreifen wäre die 1. sache die ich überprüfen würde.

    Oftmal ist ein webserver so eingerichtet dass arrays nicht über includes von dateien übernommen werden können.

    Wieso habe ich nie richtig verstanden, die allgemeine antwort war "Aus Sicherheitsgründen"
     

Ähnliche Themen

  1. str_replace problem
    Von crsakawolf im Forum PHP
    Antworten: 9
    Letzter Beitrag: 05.11.09, 17:26
  2. str_replace()-Problem
    Von EngelchenB im Forum PHP
    Antworten: 2
    Letzter Beitrag: 07.04.06, 14:58
  3. Problem mit str_replace
    Von kcyberbob im Forum PHP
    Antworten: 2
    Letzter Beitrag: 27.07.03, 12:58
  4. problem mit str_replace
    Von acid.rain im Forum PHP
    Antworten: 6
    Letzter Beitrag: 28.03.03, 17:24
  5. PHP - str_replace Problem
    Von AkTi im Forum PHP
    Antworten: 2
    Letzter Beitrag: 17.08.01, 13:17