Hello and welcome to our community! Is this your first visit?
Register
Enjoy an ad free experience by logging in. Not a member yet? Register.
Results 1 to 3 of 3
  1. #1
    New to the CF scene
    Join Date
    Sep 2012
    Posts
    1
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Find and replace multiple words with javascript

    I am looking for a way to find and replace multiple words within a sentence using javascript. Ideally I would like to take a sentence and replace multiple words within that sentence i.e.

    text **WORD 1** text | text **WORD 2** text

    How can I replace both WORD1 and WORD2 with independent different words?

    i.e.
    WORD1= New-word-1
    WORD2= New-word-2

    here is the code:
    http://jsfiddle.net/yaaf8/

    and to take it one step further I would like to pull new word values from an excel sheet, run a loop with the new words to be replaced and have the output of the new sentences all on one page.

    Any guidance would be greatly appreciated.

  • #2
    Senior Coder xelawho's Avatar
    Join Date
    Nov 2010
    Posts
    2,915
    Thanks
    56
    Thanked 545 Times in 542 Posts
    possibly missing the point here, but...
    Code:
    var visitorName = "new word 1";
    var loc = "here";
    var myOldString = "Hello word1! I hope you enjoy your stay word2.";
    var myNewString = myOldString.replace(/word1/g, visitorName).replace(/word2/g, loc);
    ?

  • #3
    Supreme Master coder! Philip M's Avatar
    Join Date
    Jun 2002
    Location
    London, England
    Posts
    17,918
    Thanks
    203
    Thanked 2,531 Times in 2,509 Posts
    This perhaps?

    Code:
    <div id = "mydiv">Now is the time for all good men to come to the aid of their country.</div>
    <div id = "mydiv1"></div>
    
    <script type = "text/javascript">
    
    var ow = ["now", "time","good","men","country"];
    var nw = ["tomorrow", "occasion", "fine", "women", "state"];
    
    var txt = document.getElementById("mydiv").innerHTML;
    var txtsplit = txt.split(" ");
    
    for (var i =0; i<txtsplit.length; i++) {
    for (var j = 0; j <ow.length; j++) {
    if (txtsplit[i].toLowerCase() == ow[j]) {
    txtsplit[i] = nw[j];
    }
    }
    }
    
    var newtext = txtsplit.join(" ");
    newtext = newtext.charAt(0).toUpperCase() + newtext.slice(1); // capitalise first letter of string
    document.getElementById("mydiv1").innerHTML = newtext;
    
    </script>

    For importing Excel sheet in Javascript see

    http://www.roseindia.net/javascript/...ile-data.shtml

    But it would be simpler to use a text file. Or just have the words in a Javascript array (as above).




    The whole aim of practical politics is to keep the populace alarmed (and hence clamorous to be led to safety)by menacing it with an endless series of hobgoblins, all of them imaginary. - H.L. Mencken 1880-1956, American Editor, Author, Critic, Humorist
    Last edited by Philip M; 09-28-2012 at 08:15 AM.

    All the code given in this post has been tested and is intended to address the question asked.
    Unless stated otherwise it is not just a demonstration.


  •  

    Tags for this Thread

    Posting Permissions

    • You may not post new threads
    • You may not post replies
    • You may not post attachments
    • You may not edit your posts
    •