How can I perform a str_replace in JavaScript, replacing text in JavaScript?

后端 未结 22 1893
没有蜡笔的小新
没有蜡笔的小新 2020-12-01 00:29

I want to use str_replace or its similar alternative to replace some text in JavaScript.

var text = \"this is some sample text that i want to re         


        
22条回答
  •  没有蜡笔的小新
    2020-12-01 01:01

    If you really want a equivalent to PHP's str_replace you can use Locutus. PHP's version of str_replace support more option then what the JavaScript String.prototype.replace supports. For example tags:

    //PHP
    $bodytag = str_replace("%body%", "black", "");
    
    //JS with Locutus
    var $bodytag = str_replace(['{body}', 'black', '')  
    

    or array's

    //PHP
    $vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
    $onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
    
    //JS with Locutus
    var $vowels = ["a", "e", "i", "o", "u", "A", "E", "I", "O", "U"];
    var $onlyconsonants = str_replace($vowels, "", "Hello World of PHP");
    

    Also this doesn't use regex instead it uses for loops. If you not want to use regex but want simple string replace you can use something like this ( based on Locutus )

    function str_replace (search, replace, subject) {
    
      var i = 0
      var j = 0
      var temp = ''
      var repl = ''
      var sl = 0
      var fl = 0
      var f = [].concat(search)
      var r = [].concat(replace)
      var s = subject
      s = [].concat(s)
    
      for (i = 0, sl = s.length; i < sl; i++) {
        if (s[i] === '') {
          continue
        }
        for (j = 0, fl = f.length; j < fl; j++) {
          temp = s[i] + ''
          repl = r[0]
          s[i] = (temp).split(f[j]).join(repl)
          if (typeof countObj !== 'undefined') {
            countObj.value += ((temp.split(f[j])).length - 1)
          }
        }
      }
      return s[0]
    }
    var text = "this is some sample text that i want to replace";
    
    var new_text = str_replace ("want", "dont want", text)
    document.write(new_text)

    for more info see the source code https://github.com/kvz/locutus/blob/master/src/php/strings/str_replace.js

提交回复
热议问题