使用正则表达式对文章关键字做高亮度显示

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title>test3_2</title>
		<style type="text/css">
			#content {
				width: 700px;
				height: auto;
				margin: 20px auto;
				border: 1px solid #A52A2A;
			}
			
			#content p {
				text-indent: 2em;
				line-height: 20px;
			}
		</style>
	</head>

	<body οnlοad="loadp();">
		<div id="content">
			<h2>试点急诊先治疗后结账</h2>
			<p id="word">卫生部医政司副局长赵明钢说,过去,门诊, 急诊病人就诊,每个诊疗项目要逐一缴费, 增加了排队等候的时间,同时由于排队缴费 人员过多 影响了医院急诊秩序,他说:试点 “门诊急诊先治疗后结算”,要重新调整门诊 ,急诊就诊疗程。 卫生部医政司副局长赵明 钢说,过去,门诊,急诊病人就诊,每个诊 疗项目要逐一缴费,增加了排队等候的时间, 同时由于排队缴费人员过多 影响了医院急诊 秩序,他说:试点 “门诊急诊先治疗后结算” ,要重新调整门诊,急诊就诊疗程。 卫生部医 政司副局长赵明钢说,过去,门诊,急诊病人 就诊,每个诊疗项目要逐一缴费,增加了排队 等候的时间,同时由于排队缴费人员过多 影响 了医院急诊秩序,他说:试点 “门诊急诊先治疗 后结算”,要重新调整门诊,急诊就诊疗程。
			</p>
		</div>
	</body>

</html>

<script type="text/javascript">
	function loadp() {
		//单一修改
		//		var keyword = "急诊";
		//		var wordkey = keyword.split(",");
		//		var regExp = new RegExp(wordkey[0],"gi");
		//		word = word.replace(regExp,wordkey[0].style.color='red');
		//		document.getElementById("word").innerHTML = word;
		//		var html = document.getElementById("content").innerHTML;
		//		while(html.findText("急诊")) {
		//			html = html.replace("急诊", "<font style='color:red'>" + "急诊" + "</font>");	
		//			rng.pasteHTML(rng.text.fontcolor('red'));
		//		}
		//		document.getElementById("content").innerHTML = html;
		function SearchHighlight(idVal, keyword) {
			var pucl = document.getElementById(idVal);
			if("" == keyword) return;
			var temp = pucl.innerHTML;
			var htmlReg = new RegExp("\<.*?\>", "i");
			var arrA = new Array();
			//替换HTML标签 
			for(var i = 0; true; i++) {
				var m = htmlReg.exec(temp);
				if(m) {
					arrA[i] = m;
				} else {
					break;
				}
				temp = temp.replace(m, "{[(" + i + ")]}");
			}
			words = unescape(keyword.replace(/\+/g, ' ')).split(/\s+/);
			//替换关键字 
			for(w = 0; w < words.length; w++) {
				var r = new RegExp("(" + words[w].replace(/[(){}.+*?^$|\\\[\]]/g, "\\$&") + ")", "ig");
				temp = temp.replace(r, "<b style='color:Red;'>$1</b>");
			}
			//恢复HTML标签 
			for(var i = 0; i < arrA.length; i++) {
				temp = temp.replace("{[(" + i + ")]}", arrA[i]);
			}
			pucl.innerHTML = temp;
		}
		SearchHighlight("content", "急诊");
	}
</script>
<img src="https://img-blog.csdn.net/20160826104215393?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值