regex bzw replace

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #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>

    Comment


    • #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

      Comment


      • #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.

        Comment


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

          Comment


          • #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.
            Last edited by Marcus-24-D; 26-04-2013, 22:33.

            Comment

            Working...
            X