regex bzw replace

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

  • #16
    Na ja, ich wollte das nun noch etwas weiter verschachteln, um weitere Unterabfragen vorzunehmen, damit am Ende nur diese ID vom Video übrig bleibt, doch da bugt es jetzt auch laufend. Wollte das eigentlich so haben, dass man da pro Aufgabe nicht einen großen unübersichtlichen Ausdruck hat, sondern lieber als verschachtelte Abfragen mit kleineren und handlicheren Ausdrücken zum Ziel kommt. Wird aber nicht einfacher, wie es ausschaut.

    setInterval hätte ich gegen einen Vorschau-Button ausgewechselt, den kennen alle und können da mal allein zur Vorschau klicken.

    HTML-Code:
    <head>
    <title>Testseite</title>
    </head>
    
    <body style="text-align:center">
    <input type="button" name="EinName" value="Test">
    <div id="ytbContainer">Platzhalter</div>
    
    <script type="text/javascript">
    var eingabe = "<iframe width=\"420\" height=\"315\" src=\"http://www.youtube.com/embed/f16IMnWJTc0\" frameborder=\"0\" allowfullscreen></iframe>";
    
    function parseTextToLinks(){
    
        var ausg = document.getElementById("ytbContainer");
        var newText;
    
        var youtube = /(www\.youtube\.com|youtu.be)/;
        var testerg = youtube.test(eingabe);
    
        if (testerg != false) {
    
            var youtb1  = /(.*?)embed\/([a-z0-9]{10,12})(.*?)/;
            var youtb2  = /youtu\.be\/([a-z0-9]+?)/;
            var youtb3  = /watch\?v=([a-z0-9]+?)/;
    
            if (youtb1.test(eingabe) != false) {
                // ...
                ausg.innerHTML = newText;
            }
            if (youtb2.test(eingabe) != false) {
                // ...
                ausg.innerHTML = newText;
            }
            if (youtb3.test(eingabe) != false) {
                // ...
                ausg.innerHTML = newText;
          }
        }
        else {ausg.innerHTML = "Das war wohl nichts";}
    }
    
    onclick = function() {
    
        parseTextToLinks(eingabe);
    }
    </script>
    </body>
    </html>

    Kommentar


    • #17
      Ja, das stimmt..wesentlich einfacher machts das nicht.
      Aber wesentlich übersichtlicher allemale.

      Hattest Du dir noch gleich meine Beispieldatei kopiert?
      Was hälst du dann von dieser Variante?
      Und wie sieht das dann mit den weiteren Links aus?

      Liebe Grüße

      Kommentar


      • #18
        Soweit sieht das doch für den Anfang ganz gut aus und ein paar Tage mehr, dann sollte das schon etwas werden. Halt immer Schritt für Schritt und dann wird das schon. Habs mir mal kopiert, werde mich aber vor dem Wochenende nicht mehr viel damit auseinandersetzen. In einen Tag ist das ohnehin nicht erledigt, jedenfalls nicht bei meinem Wissensstand, da wird meist aus einem Tag eine Woche oder mehr.

        Im Prinzip, denke ich, sollte sich das bei den Links auch ganz gut mit verschiedenen Ausdrücken, dann aber mit else if (), erledigen lassen.

        Kommentar


        • #19
          Joa, ok...Sobald sich in meinem Script was ändert, teile ich es entsprechend hier mit. Hab vielen Dank für deine Bemühungen

          Kommentar


          • #20
            Meine aktuelle Datei. Hier komplett ausgelagert.

            Code:
            
            
            html
            HTML-Code:
                            	<div id="ytbContainer" style="display:none; float:left; width:390px;height:auto;"></div>
            						<div id="ytbTools" style="display:none; float:left; width:390px;height:45px;">
                                      <input name="inputYtbTools" type="text" id="inputYtbTools" size="40" />
                                      <input name="button" type="submit" class="color_blue" id="button" value="Ändern" onclick="youTubeTools(2);"/>
                                    </div>
            
                                
                                
                                <div id="liveBox" style="display:none; float:left; width:440px; min-height:50px; height:auto; border:#000 1px dotted; background-color:#FFFFFF;" ></div>
                   
                              
                              <textarea style="width:440px; resize:none;" name="input" cols="70" rows="1" wrap="physical" id="input"></textarea><input style="display:none;" name="teilen" type="submit" class="color_blue" id="teilen" value="Teilen" />
            Schön wärs noch, wenn normale Links als Link anerkannt werden.
            Das bekomm ich einfach nicht hin. Das geht ja zur Zeit nur mit Dateiendung html etc. Das muss doch irgendwie zu trennen sein?!

            edit: JQuery autoresize ist noch erforderlich wenn das Textfeld automatisch mitwachsen soll.
            Zuletzt geändert von Marcus-24-D; 26.04.2013, 23:33.

            Kommentar

            Lädt...
            X