如何更改两个单词之间的文本

How to change text between two words?

本文关键字:单词 之间 文本 两个 何更改      更新时间:2023-09-26
<input type="text" id="text">
<input type="button" value="change" id="change">    
<div id="here">
   First to change Second    
    <div class="additional">__RANDOM DATA FROM DATABASE__</div>
</div>
$('#change').click(function(){
   var text = $('#text').val();
   $('#here').html(); 
})

斯菲德尔

如何在两个单词之间更改文本?在此示例中,如果我单击更改按钮,则文本表单输入应替换第一和第二之间的文本。例如,在输入中是:"我的新文本",然后单击后应该在div中:

第一 我的新文本 第二

我必须只使用javascript - jquery,因为我从其他服务器接收div,我不能修改html。


对不起大家 - 我编辑了我的问题。这有其他div。

为什么不存储前缀和后缀?

$('#change').click(function(){
  var prefix = "First ";
  var suffix = " Second";
  var text = $('#text').val();
  $('#here').html(prefix + text + suffix); 
})

在您编辑之后。恐怕那时正则表达式就是这种情况。例如:

var oldHtml = $("#here").html();
var newHtml = oldHtml.replace(/First'b(.*)'bSecond/, "First " + text + " Second");
$("#here").html(newHtml);

你可以做

$('#here').html("First "+ $('#text').val()+ "Second "); 

试试这个

http://jsfiddle.net/xHucz/16/

$('#change').click(function(){
  var text = $('#text').val();
  var html = $('#here').html(); 
  $('#here').html(html.replace(/(to change)/, text)); 
})

像这样尝试

var text = $('#text').val();
$("#here").text($('#here').text().replace("to change", text)); 

小提琴

你可以尝试这样的事情。这是一般方法。所以你应该根据需要修改它

var newText = oldText.replace(/^('w+).*?('w+)$/, "$1 my new text $2")

附言我没有仔细测试过,但乍一看它有效。

根据你的代码,你刚刚在你的第二个单词之后我可以建议下一个:

var newText = oldText.replacereplace(/^('w+).*?('w+)(([^<]+)(<div.*))$/m, "$1 my new text $2$3")