Formatierung von Text

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formatierung von Text

    Hallo Leute,

    ich erstelle gerade eine Website mit zum großteil dynamischen Seiten, wo mittels php eine sql-db ausgelesen wird. Das funktioniert ja alles tadellos. Jetzt hab ich auch natürlich Seiten, wo man die Daten erfassen bzw. verändern kann. Bis jetzt schreib ich in den Text auch immer die Formatierungs-Tags mit hinein also <br>, <b>, </b>, etc. In Zukunft sollen auch andere Personen diese Seiten editieren können, die aber keine Ahnung von diesen Tags haben. Was ich gerne hätte wäre, dass in der Tabelle in der ich die Daten zum editieren darstelle, in einer zusätzlichen Spalte neben dem jeweiligen Feld einfach Buttons für die Funktionen stehen und wenn der User draufklickt, wird an der aktuellen Position im Feld einfach das Anfangs und das Endtag gesetzt. Noch schöner wäre die Variante, dass der User im Nachhinein den gewünschten Textteil markiert und zb auf fett klickt, dann wird der Anfangstag vor den Text gesetzt und der Endtag danach.

    Lässt sich das ganz einfach realisieren - ohne zig scripts und dateien hinzuzufügen?

    Danke für Hilfe
    Alexander

  • #2
    Such mal hier im Forum nach VBB/UBB.

    Das mit dem Markieren und dann auf einen Button klicken hört sich nach Java-Script an.

    Einfach mal ins Forum "HTML/XML, JavaScript und CSS" oder "Code-Schnippsel" schauen. Dort solltest du sowas finden.

    Das "<br>" brauchst du nicht setzen. Das machst du doch schon in der Textarea und um es anzuzeigen machst du bei der Ausgabe einfach nl2br($deine_variable). Und schon hast du die Zeilenumbrüche aus der Textarea drin.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      Hallo,

      ich habe hier zwei funktionen für NS und IE, mit denen man markierten text auslesen und in eine textarea auf der nächsten seite schreiben kann. Diese kannst du mit deinen buttons fett/kursiv ansprechen und mit php mit den html tags versehen kann.

      Da sie schon älter sind, weiss ich nicht ob sie auf allen nes browsern ab 6.x funktionieren ...

      function Explorer()
      {
      selectedtext=document.selection.createRange().text;
      SMSFenster.document.forms[0].elements[1].value = selectedtext;
      }

      function Netscape()
      {
      text=document.getSelection();
      open("sms.html","Fenster","width=600,height=550,resizable=no,scrollbars=yes,menubar=no,locationbar=n o,screenX=0,screenY=0,status=no");
      Fenster.document.forms[0].elements[1].value =text;
      }

      Kommentar


      • #4
        geht nicht so ganz

        Zunächst mal danke für die bisherigen Tips.

        @faustus: den tipp heb ich mir noch auf - ich probiers zuerst mal anders.

        Ich hab jetzt nach Durchsuchen einiger Beiträge meinen Quelltext wie folgt abgeändert und versuch mal ein Smilie einzufügen:

        Im Head hab ich drinnen:

        <script language="JavaScript">
        function smilie(str)
        {
        document.FormName.preis(<?php echo $pack->AbsolutePosition()?>).value = document.FormName.preis(<?php echo $pack->AbsolutePosition()?>).value+str+" ";
        document.FormName.preis(<?php echo $pack->AbsolutePosition()?>).focus();
        }
        </script>

        Im Body hab ich in der Tabelle folgenden Code für die betreffende Zeile:

        <tr height="35">
        <td class="Untertitel" align="left" valign="top" height="35">Preis:</td>
        <td class="titel" valign="top" height="35"><textarea name='preis(<?php echo $pack->AbsolutePosition()?>)' rows="4" cols="100" tabindex="8"><?php echo $pack->Value("preis") ?></textarea></td>
        <td class ="Text" valign="top" height="35"><a href="javascript:smilie(':-)')">smilie 1</a><br>
        <a href="javascript:smilie(':-(')">smilie 2</a><br></td></tr>

        Bekomme beim Ausführen aber die Meldung, "Das Objekt unterstützt diese Eigenschaft oder Methode nicht". Wenn ich mir von GL6 den Quelltext überprüfen lasse, bekomme ich einen Fehler erkannt, und zwar für das Script im Head: Erforderliches Attribut 'type' fehlt.

        Ich muss dazusagen, dass ich mit js überhaupt keine erfahrung hab - nur weiss wo und wie man Code einfügt. Auch mit PHP und SQL hab ich erst seit kurzem angefangen.

        Ich vermute ja fast, dass mir ein externes Script fehlt. Irgendwelche Hinweise?!
        Danke
        Alexander

        Kommentar


        • #5
          Ich habe da noch was sehr gutes gefunden. Vielleicht hilft das. In der Internet Professional war ein php webeditor mit beschreibung veröffentlicht. Hier das ZIP von deren Homepage ...
          Angehängte Dateien

          Kommentar


          • #6
            @faustus

            Hast du dazu auch noch ein Link, zur I-Net Seite von denen?
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              Hier, das ist gleich der deeplink zu den scripten aus den heften.

              Scriptsammlung von IP


              Der Editor steht unter "Workshop: Online-Editor mit PHP"

              Angehängt ein Bild davon
              Angehängte Dateien

              Kommentar


              • #8
                Hier ist noch ein Editor in DHTML, allerdings benötigt man ASP, welches ich nicht habe auf meinem Server ...

                Mit ihm kann man Schriftart, Fett, Kursiv, etc. bestimmen und speichern.
                Angehängte Dateien

                Kommentar


                • #9
                  Sorry, aber ich bin kein Js Experte,

                  kopiere den code und probiers mit explorer aus - Ich habe auf die schnelle nicht herausgefunden, warum netscape den text nicht in die <textarea> zurückschreibt.

                  Diese version macht folgendes.

                  Markierten text copieren, <b></b> einfügen und den text wieder ausgeben, allerdings beschnitten, weil ich gerade keine replace funktion in js parat habe.

                  Das sollte aber reichen, um es selber zu erweitern.

                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

                  <html>
                  <head>
                  <title>Untitled</title>


                  <script language="JavaScript">
                  var selectedtext = "";

                  function CheckSelected()
                  {
                  if (!(navigator.appName == "Netscape"))
                  {
                  selectedtext=document.selection.createRange().text;
                  if(selectedtext!=""){
                  selectedtext = "<b>" + selectedtext + "</b>";
                  document.form.editor.value = selectedtext;
                  //alert("The text you have selected is: " + selectedtext);
                  //document.cookie = "GenieDE_SMSTEXT="+escape(selectedtext.substring(0,120))+";domain=localhost";
                  }
                  }
                  if ((navigator.appName == "Netscape"))
                  {
                  selectedtext=document.getSelection();
                  if(selectedtext!=""){
                  selectedtext = "<b>" + selectedtext + "</b>";
                  document.forms[0].elements[0].value = selectedtext;
                  //alert("The text you have selected is: " + selectedtext);
                  //document.cookie = "GenieDE_SMSTEXT="+escape(selectedtext.substring(0,120))+";domain=localhost";
                  }
                  }
                  }



                  </script>

                  </head>

                  <body>
                  <form name="form">
                  <textarea cols="40" rows="20" name="editor">
                  lasdfhajklsdfhjklasbfhdf
                  sdfasdfasdfasdfasdfasdfasdf
                  asdfasdfasdfasdfasdf
                  asdfasdfasdfasdfasdf
                  asdfasdfasdfasdfasdtrawe4rtaerer
                  wertzwsertbzserzvju
                  vue6uzuezu</textarea>
                  </form>

                  <br><br>
                  <a href="javascript:CheckSelected();">Fett</a>

                  </body>
                  </html>

                  Kommentar

                  Lädt...
                  X