我想稍微修改这个,以便提示输入要搜索的文本,然后是要替换为的文本,并在处理完所有内容后,显示一个对话框让我知道它已完成。
我计划将其用于phpmyadmin数据库编辑页面,该页面将填有任意数量的文本框(这就是我需要在其中搜索和替换的内容)。此外,要搜索和替换的文本可能是多行的,因此我已在正则表达式中添加了“m”参数。另外,由于我将进行包含HTML的搜索/替换,因此它们通常会包含引号/双引号。例如:
搜索:
<img height="76" width="92" src="http://www.gifs.net/Animation11/Hobbies_and_Entertainment/Games_and_Gambling/Slot_machine.gif" /></div>
<div class="rtecenter"> <strong><em><font color="#ff0000">Vegas Baby!<br />
</font></em></strong></div>
也许你可以将代码替换为空白 (只是为了清除所有的代码),或其他的HTML代码。到目前为止,这是我想出来的书签脚本 (JavaScript和书签脚本并不是我经常使用的东西),但它至今还无法正确地查找/替换代码,尽管输入提示功能正常。
javascript:var%20scrEl=document.createElement('script');scrEl.setAttribute('language','javascript');scrEl.setAttribute('type','text/javascript');scrEl.setAttribute('src','http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js');function%20htmlreplace(a,b,element){if(!element)element=document.body;var%20nodes=$(element).contents().each(function(){if(this.nodeType==Node.TEXT_NODE){var%20r=new%20RegExp(a,'gim');this.textContent=this.textContent.replace(r,b);}else{htmlreplace(a,b,this);alert('Done%20processing.');}});}htmlreplace(prompt('Text%20to%20find:',''),prompt('Replace%20with:',''));
有人有什么想法吗?
javascript:function%20htmlreplace(a,b,element){if(!element)element=document.body;varnodes=element.childNodes;for(varn=0;n<nodes.length;n++){if(nodes[n].type&&(nodes[n].type.toLowerCase()=='textarea'||nodes[n].type.toLowerCase()=='text')){varr=newRegExp(a,'gim');nodes[n].value=nodes[n].value.replace(r,b);}else{htmlreplace(a,b,nodes[n]);}}}htmlreplace(prompt('查找'),prompt('替换'));alert('完成');
- J. Scott Elblein