`
itsuki
  • 浏览: 10473 次
  • 性别: Icon_minigender_1
  • 来自: 火星
最近访客 更多访客>>
社区版块
存档分类
最新评论

HTML文本关键词添加链接不破坏原标签

阅读更多

 

public static function ReplaceTag( _str : String , _tag : String , _url : String , _limit : int){
		if (!_limit)_limit=1;
		_str						= _str.replace(/</g , "$i2replacemark$<");
		_str						= _str.replace(/>/g , ">$i2replacemark$");
			
		var _temp				= _str.split("$i2replacemark$");
		var _counter			= 0;
		var _islink				= 0;
		var _isspan				= 0;
		var _isstrong			= 0;
		
		for (var i in _temp){
			if ( _counter >= _limit)break;
			
			if ( _temp[i].substr(0,2).toLowerCase()=="<a" ) {_islink++;continue;}
			if ( _temp[i].substr(0,3).toLowerCase()=="</a" ) {_islink--;continue;}
			if ( _temp[i].substr(0,5).toLowerCase()=="<span" ) {_isspan++;continue;}
			if ( _temp[i].substr(0,6).toLowerCase()=="</span" ) {_isspan--;continue;}
			if ( _temp[i].substr(0,7).toLowerCase()=="<strong" ) {_isstrong++;continue;}
			if ( _temp[i].substr(0,8).toLowerCase()=="</strong" ) {_isstrong--;continue;}
			if ( _temp[i].substr(0,2).toLowerCase()=="<b" && _temp[i].substr(0,3).toLowerCase()!="<br" ) {_isstrong++;continue;}
			if ( _temp[i].substr(0,3).toLowerCase()=="</b" && _temp[i].substr(0,4).toLowerCase()!="</br" ) {_isstrong--;continue;}
			
			if ( _temp[i].substr(0,1)=="<" )continue;

			if ( _islink>0 )continue;
			if ( _isspan>0 )continue;
			if ( _isstrong>0 )continue;
			
			if ( _temp[i].indexOf(_tag)>-1){
				_temp[i] = _temp[i].replace(_tag , "<a href=\""+_url+"\" class=\"tag\">"+_tag+"</a>");
				_counter++;
			}

		}

		return _temp.join('');
	}

 正则和下划线神马的...都无视好了

0
0
分享到:
评论

相关推荐

    html语法总结html语法总结html语法总结html语法总结

    3. 文本样式:`&lt;b&gt;`使文本加粗,`&lt;i&gt;`使文本倾斜,`&lt;u&gt;`添加下划线,`&lt;tt&gt;`创建打字机风格的文本,`&lt;sup&gt;`和`&lt;sub&gt;`用于上标和下标。 三、文本修饰 1. 标题:`&lt;h1&gt;`到`&lt;h6&gt;`定义了不同级别的标题,`align`属性可以...

    JS批量替换内容中关键词为超链接

    正确地在文章内容中为关键词添加超链接,不仅可以提高用户的阅读体验,还能增强网页内容的内部结构。本文将详细介绍如何使用JavaScript(JS)进行批量替换操作,将指定内容中的关键词替换成超链接,同时避免替换已...

    HTML5参考手册

    - **`&lt;b&gt;`**:定义粗体文本,但不应仅用于样式目的,因为这会破坏文档的语义结构。 - **`&lt;base&gt;`**:定义页面中所有链接的基准URL,简化链接路径。 - **`&lt;bdo&gt;`**:控制文本方向,特别适用于处理右至左的语言。 - **...

    计算机总结知识

    这种方式不推荐广泛使用,因为它破坏了样式和内容的分离。 ##### 11. 强调语气 `&lt;strong&gt;`和`&lt;em&gt;`标签分别用于强调语气的重要性和强调语气本身。`&lt;strong&gt;`表示强的重要性,而`&lt;em&gt;`表示强调语气。 ##### 12. `...

    jsoup-1.6.2.jar

    例如,可以查找特定的标签、属性或文本,提取信息,甚至修改文档内容。 2. **选择器API**:jsoup提供了类似于jQuery的选择器API,使得选择和操作HTML元素变得简单。通过CSS选择器,你可以快速定位到页面上的任何...

    用JS将搜索的关键字高亮显示实现代码

    `title`属性提供了关键词的工具提示,`display:inline`确保高亮部分保持在文本流中,而不会破坏布局。 调用`highlight`函数时,你需要提供一个包含所有关键字的字符串,如`highlight('文章|关键|功能')`。 然而,...

    shopex底部去版权

    3. **版权信息查找**:在模板文件中,通过搜索特定的文本,如“ShopEx”、“版权所有”等关键词,找到包含版权信息的代码段。 4. **安全修改**:在删除或修改版权信息时,要确保不会破坏网站的其他功能。这可能涉及...

    editplus快捷键

    **Ctrl+J**: 插入当前行的下一行,方便添加新的内容而不破坏原有结构。 **Ctrl+-**: 移除当前行或段落的前一个字符,实现精准的文本编辑。 **Ctrl+Shift+X**: 重复剪切操作,适用于需要多次剪切相同内容的情况。 ...

    代码重构

    在SEO中,`alt`属性有助于搜索引擎理解页面内容,因此,为所有图片添加准确且描述性的`alt`标签是优化的关键步骤之一。 接下来,寻找简洁明了的标题。在HTML中,`&lt;title&gt;`标签定义了文档的标题,显示在浏览器的标签...

    PSD欢乐圣诞模板下载

    这样的标签可能出现在设计资源网站或者论坛上,使得用户可以基于关键词进行搜索。 【压缩包子文件的文件名称列表】: 1. **下载说明.htm**:这可能是一个HTML文件,包含了下载该资源的具体步骤、注意事项或版权信息...

    2021-2022计算机二级等级考试试题及答案No.14773.docx

    搜索引擎会返回一系列与这些关键词匹配的网页链接,从而使用户能够方便地找到他们感兴趣的信息。选项D“在Web上快捷地查找需要信息”正确地描述了这一功能。 ### 2. SQL聚合函数COUNT的用途 - **知识点**:SQL中的...

    儿童摄影模板psd

    "易采源码下载说明.txt"可能是关于如何下载和解压资源的文本说明,"易采源码下载.url"则可能是一个快捷链接,帮助用户直接访问下载页面。而"bb731"可能是模板文件之一,但具体是什么内容无法从名字中得知,通常PSD...

Global site tag (gtag.js) - Google Analytics