替换关键词并过滤特殊标签

	public static function parse_related_link($content, $extent) {
		global $_G;
		loadcache(‘relatedlink‘);
		$allextent = array(‘article‘ => 0, ‘forum‘ => 1, ‘group‘ => 2, ‘blog‘ => 3);
		if($_G[‘cache‘][‘relatedlink‘] && isset($allextent[$extent])) {
			$searcharray = $replacearray = array();
			foreach($_G[‘cache‘][‘relatedlink‘] as $link) {
				$link[‘extent‘] = sprintf(‘%04b‘, $link[‘extent‘]);
				if($link[‘extent‘][$allextent[$extent]] && $link[‘name‘] && $link[‘url‘]) {
					$searcharray[$link[name]] = ‘/(‘.preg_quote($link[‘name‘]).‘)/i‘;
					$replacearray[$link[name]] = "<a href=\"$link[url]\" target=\"_blank\" class=\"relatedlink\">$link[name]</a>";
				}
			}
			if($searcharray && $replacearray) {
				$_G[‘trunsform_tmp‘] = array();
				$content = preg_replace("/(<script\s+.*?>.*?<\/script>)|(<a\s+.*?>.*?<\/a>)|(<img\s+.*?[\/]?>)|(\[attach\](\d+)\[\/attach\])/ies", "helper_seo::base64_transform(‘encode‘, ‘<relatedlink>‘, ‘\\1\\2\\3\\4‘, ‘</relatedlink>‘)", $content);
				$content = preg_replace($searcharray, $replacearray, $content, 1);
				$content = preg_replace("/<relatedlink>(.*?)<\/relatedlink>/ies", "helper_seo::base64_transform(‘decode‘, ‘‘, ‘\\1‘, ‘‘)", $content);
			}
		}
		return $content;
	}

  上面是discuz的实现

时间: 2024-10-12 20:22:57

替换关键词并过滤特殊标签的相关文章

asp.net过滤HTML标签,只保留换行与空格

自己从网上找了一个过滤HTML标签的方法,我也不知道谁的才是原创的,反正很多都一样.我把那方法复制下来,代码如下: /// <summary> /// 去除HTML标记 /// </summary> /// <param name="NoHTML">包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public static string NoHTML(strin

ASP.NET过滤HTML标签只保留换行与空格的方法

这篇文章主要介绍了ASP.NET过滤HTML标签只保留换行与空格的方法,包含网上常见的方法以及对此方法的改进,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例讲述了ASP.NET过滤HTML标签只保留换行与空格的方法.分享给大家供大家参考.具体分析如下: 自己从网上找了一个过滤HTML标签的方法,我也不知道谁的才是原创的,反正很多都一样.我把那方法复制下来,代码如下: /// <summary> /// 去除HTML标记 /// </summary> /// <para

java正则表达式过滤html标签(转)

import java.util.regex.Matcher; import java.util.regex.Pattern; /** * <p> * Title: HTML相关的正则表达式工具类 * </p> * <p> * Description: 包括过滤HTML标记,转换HTML标记,替换特定HTML标记 * </p> * <p> * Copyright: Copyright (c) 2006 * </p> * * @auth

使用JSTL标签库替换Struts1中的logic标签

如题所示,在做一个基于SSH框架的实战小项目时,发现不少地方都还在使用logic标签.这个标签不仅我不熟悉,而且在现在看来也显得过时了,因此我就想替换成我熟悉的JSTL标签 比如说,原来是这样的: <logic:present scope="request" name="onSaleGoodsList">      <table border="0">    <s:iterator id="goods&qu

Perl如何过滤html标签

比如一串字符串 <div><b>123</b></div> 如果只想拿到123怎么办呢? 用perl的正则表达式可以很容易的做到. $str =~  s/<([a-zA-Z]\w*)(\s+\S+)*>(.+?)<\/\1>/$3/sg; 这种只能过滤掉左右对称的标签,如果你的字符串里的html标签不对称,或者是有缺陷,这种方式就做不了了. 如果上边的看不懂,那看个简单的: $retPromotionInfo=~s/<.*?&g

一段过滤HTML标签的代码

public static String Html2Text(String inputString) {        String htmlStr = inputString; // 含html标签的字符串        String textStr = "";        java.util.regex.Pattern p_script;        java.util.regex.Matcher m_script;        java.util.regex.Pattern

PHP中过滤常用标签的正则表达式

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!–.*?–>/si","",$str); //注释 $str=preg_

PHP过滤常用标签的正则表达式

<?php$str=preg_replace("/\s+/", " ", $str); //过滤多余回车$str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格)$str=preg_replace("/<\!–.*?–>/si","",$str); //注释$str=

php过滤HTML标签、属性等正则表达式汇总

$str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!--.*?-->/si","",$str); //注释 $str=pre