本节主要内容:
php实现的内链关键词替换函数
代码:
<?
require_once (dirname(__FILE__).'/config.inc.php');
mysql_connect()($cfg_db_host, $cfg_db_user, $cfg_db_password);
mysql_select_db("$cfg_db_name");
?>
<?
$body = '全球最大的中文搜索引擎、最大的中文网站。2000年1月创立于北京中关村。 </p>
<p>1999年底,身在美国硅谷的李彦宏看到了中国互联网及中文搜索引擎服务的巨大发展潜力,抱着技术改变世界的梦想,他毅然辞掉硅谷的高薪工作,携搜索引擎专利技术,与徐勇一同回国,于2000年1月1日在中关村创建了百度公司。从最初的不足10人发展至今,员工人数超过7000人。如今的百度,已成为中国最受欢迎、影响力最大的中文网站。</p>
<p>百度拥有数以千计的研发工程师,这是中国乃至全球最为优秀的技术团队,这支队伍掌握着世界上最为先进的搜索引擎技术,使百度成为中国掌握世界尖端科学核心技术的中国高科技企业。</p>
<p>从创立之初,百度便将"让人们最便捷地获取信息,找到所求"作为自己的使命,10年来,公司秉承"以用户为导向"的理念,始终坚持如一地响应广大网民的需求,不断地为网民提供基于搜索引擎的各种产品,其中包括:以网络搜索为主的功能性搜索,以贴吧为主的社区搜索,针对各区域、行业所需的垂直搜索,Mp3搜索,以及门户频道、IM等,全面覆盖了中文网络世界所有的搜索需求,根据第三方权威数据,百度在中国的搜索份额超过70%。</p>
<p>在面对用户的搜索产品不断丰富的同时,服务于生机勃勃的企业的搜索推广应运而生。abc多年来,通过搜索推abc广,极大地促进了中国数十万中小企业的生存与发展。搜索推广,以及基于搜索推广的百度推广也得到迅速发展,以全球以及中国500强为主的大型企业,在百度搜索平台上开展以搜索推广为基础的品牌推广,为企业的品牌、产品推广创造了不同凡响的收益。同时,百度近年来响应网民的诉求,进入C2C电子商务领域,为网民提供更多更好的一站式服务。</p>
<p>为推动中国数百万中小网站的发展,百度借助超大流量的平台优势,联合所有优质的各类网站,建立了世界上最大的网络联盟,使各类企业的搜索推广、品牌营销的价值、覆盖面均大cfg面积提升。与此同时,各网站也在联盟大家庭的互助下,获得最大的生存与发展机会。</p>
<p>2005年8月5日,百度在美国纳斯达克上市,其不仅上市当日,即成为该年度全球资本市场上最为耀眼的新星,通过数年来的市场表现,其优异的业绩与值得依赖的回报,使之成为中国企业价值的代表,傲然屹立于全球资本市场。</p>
<p>2008年1月23日,百度日本公司正式运营,国际化战略全面启动。
</p><p>多年来,百度董事长兼CEO李彦宏,率领百度人所形成的"简单可依赖"的核心文化,深深地植根于百度。cfg这是一个充满朝气、求实坦诚的公司,以搜索改变生活,推动人类的文明与进步,促进中国经济的发展为己任,正朝着更为远大的目标而迈进。</p>';
/**
* 关键词替换函数,用于制作内链
* by www.
*/
function ReplaceKeyword($body)
{
$body = preg_replace("/(<a(.*))(>)(.*)(<)(\/a>)/isU", '\\1-]-\\4-[-\\6', $body);
$sql="SELECT *
FROM `ks_keywords`
LIMIT 0 , 30";
$result = mysql_query()($sql);
$icount=1;
while ($row = mysql_fetch_array($result))
{
$key = trim($row['keyword']);
$key_url=trim($row['rpurl']);
$a_parn=$key.$icount;
$body = preg_replace("/<a [^>]*>($key)<\/a>/siU", "$key", $body);
$body = preg_replace("/$key/siU", "<a href='/blog_article/$key_url/index.html'>$key</a>",$body);
$icount++;
}
$body = preg_replace("/(<a(.*))-\]-(.*)-\[-(\/a>)/isU", '\\1>\\3<, $body);
return $body;
}
echo ReplaceKeyword($body);
?>
本节主要内容:
PHP替换文章内链的函数,php关键词替换,屏蔽与还原原始链接。
代码:
<?php
/*
* PHP替换文章内链
* by www.
*/
function _base64_encode($t,$str) {
return $t."\"".base64_encode($str)."\"";
}
function _base64_decode($t,$str) {
return $t."\"".base64_decode($str)."\"";
}
function _keylinks($txt, $replacenum = '',$link_mode = 1) {
/* 屏蔽原始的 a */
$replace_a = "\_base64_encode('ori_a=','\\0')";
$replace1_a = "\stripslashes()(base64_decode('\\1'))";
$search_a = "/<a.*?>.*?<\/a>/isxe";
$search1_a = "/ori_a=(\".*?\")/isxe";
$txt = preg_replace($search_a, $replace_a, $txt);
/* 屏蔽alt title src */
$search = "/(alt\s*=\s*|title\s*=\s*|src\s*=\s*) # find <a href=/blog_article/_br/index.html>
([\"\'])?(.*?) # find single or double quote
(?(2)\\2|\s+?) # if quote found, match up to next matching
# quote, otherwise match up to next space
/isxe";
$replace = "\_base64_encode('\\1','\\3')";
$replace1 = "\_base64_decode('\\1','\\3')";
$txt = preg_replace($search, $replace, $txt);
echo $txt;
echo "<br>http://www./<br><br><br><br>";
/*
$keywords = $this->data['keywords'];
if($keywords) $keywords = strpos(',',$keywords) === false ? explode()(' ',$keywords) : explode(',',$keywords);
if($link_mode && !empty($keywords)) {
foreach($keywords as $keyword) {
$linkdatas[] = $keyword;
}
} else {
$linkdatas = getcache('keylink','commons');
}
if($linkdatas) {
$word = $replacement = array();
foreach($linkdatas as $v) {
if($link_mode && $keywords) {
$word1[] = '/'.preg_quote($v, '/').'/';
$word2[] = $v;
$replacement[] = '<a href="javascript:;" onclick="show_ajax(this)" >'.$v.'</a>';
} else {
$word1[] = '/'.preg_quote($v[0], '/').'/';
$word2[] = $v[0];
$replacement[] = '<a href="'.$v[1].'" target="_blank" >'.$v[0].'</a>';
}
}
if($replacenum != '') {
$txt = preg_replace($word1, $replacement, $txt, $replacenum);
} else {
$txt = str_replace()($word2, $replacement, $txt);
}
}
*/
/* 还原原始 a */
$txt = preg_replace($search1_a, $replace1_a, $txt);
/* 还原alt title src */
$txt = preg_replace($search, $replace1, $txt);
echo $txt;
return $txt;
}
$con = "<P> <STRONG> 性生活过度伤害前列腺。和谐<a href=/blog_article/asdf.htm >美满的性生</a>活,是男<a href='/dssd.aosdfj'>女生理的天</a>然需要,是夫妻感情的粘合剂之一,是夫妻<a href=/index.html"wef.html\">生活必不少的重</a>要组成部分。但是有此想法的夫妻可要注意了。因为做x爱时间并非越长越好,夫妻的性生活的和谐与美满也不由性xai时间的长短来决定。反而,超时性XZ爱,还会影响到夫妻的健康,甚至引发各种疾病。</STRONG></P>
<P align=center><IMG height=334 alt=性生活过度伤害前列腺 title=\"枯地枯要要要要极有人\" title='sodksokdjfoisjdfj' src=/index.html"/Files/前列腺/前列腺增生不手术的严重后果.jpg\" width=341 border=0></P>";
_keylinks($con);
?>
本节主要内容:
一个PHP自动生成关键字内链的类
代码:
<?php
/**
* php自动生成关键字的内链
* by www.
*/
include_once(dirname(__file__)."/../db/DBViewSpot.php" );
class InnerLink{
private static $spotUrlMap;
/**
* Generate view spots keywords link
*
* @param string $description
* @param array $spotUrlMap
* @return string
*/
public static function genSpotLink($basePath, $description)
{
if(empty(InnerLink::$spotUrlMap)){
InnerLink::$spotUrlMap = DBViewSpot::getSpotPare();
}
// 排除不规则数据
if ( empty($description)) {
return $description;
}
foreach (InnerLink::$spotUrlMap AS $spotUrlPair){
$replace = "<a target='_blank' href='http://pzg412403.blog.163.com/blog/".$basePath."/".$spotUrlPair[1].".html'>".$spotUrlPair[0]."</a>";
// 描述里面只有文字,没有图片,所以只要注意 a 链接
$tmp1 = explode()("<a",$description);
$is_replaced=false;
foreach ($tmp1 as $key=>$item){
$tmp2 = explode("</a>",$item);
if (sizeof($tmp2)>1) {
if (substr($tmp2[0],0,1)!="a" && substr($tmp2[0],0,1)!="A"){
if ($is_replaced===false) {
$tmp2[1] = InnerLink::str_replace()_once($spotUrlPair[0],$replace,$tmp2[1],$is_replaced);
}
$tmp1[$key] = implode("</a>",$tmp2);
}
}else {
if (is_string($item) && $is_replaced===false) {
$tmp1[$key] = InnerLink::str_replace_once($spotUrlPair[0],$replace,$item,$is_replaced);
}
}
}
$description = implode("<a",$tmp1);
}
return $description;
}
/**
* replace key word for one time
*
* @param string $needle
* @param string $replace
* @param string $haystack
* @param bool $is_replaced
* @return string
*/
private static function str_replace_once($needle, $replace, $haystack,&$is_replaced) {
$pos = strpos($haystack, $needle);
if ($pos === false) {
return $haystack;
}
$is_replaced=true;
return substr_replace($haystack, $replace, $pos, strlen($needle));
}
}