/**
* 删除非站内链接
*
* @access public
* @param string $body 内容
* @param array $allow_urls 允许的超链接
* @return string
*/
function Replace_Links( &$body, $allow_urls=array() )
{
$host_rule = join(‘|‘, $allow_urls);
$host_rule = preg_replace("#[\n\r]#", ‘‘, $host_rule);
$host_rule = str_replace(‘.‘, "\\.", $host_rule);
$host_rule = str_replace(‘/‘, "\\/", $host_rule);
$arr = ‘‘;
preg_match_all("#<a([^>]*)>(.*)<\/a>#iU", $body, $arr);
if( is_array($arr[0]) )
{
$rparr = array();
$tgarr = array();
foreach($arr[0] as $i=>$v)
{
if( $host_rule != ‘‘ && preg_match(‘#‘.$host_rule.‘#i‘, $arr[1][$i]) )
{
continue;
} else {
$rparr[] = $v;
$tgarr[] = $arr[2][$i];
}
}
if( !empty($rparr) )
{
$body = str_replace($rparr, $tgarr, $body);
}
}
$arr = $rparr = $tgarr = ‘‘;
return $body;
}
PHP实现删除非站内外部链接实例代码
时间: 2025-01-08 12:36:08
PHP实现删除非站内外部链接实例代码的相关文章
php正则替换非站内链接 替换zencart描述内的非本站链接
php正则替换非站内链接 <?php //要替换的文本,比如产品描述中的文字 header("content-Type: text/html; charset=utf-8"); $content = ' <li><a href="http://afish.cnblogs.com" target="_blank">小鱼阁</a></li> <li><a href="h
Linux (mkdir rmdir)创建和删除非空目录
linux mkdir 命令用来创建指定的名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 命令格式: mkdir [选项] 目录... 命令功能: 通过 mkdir 命令可以实现在指定位置创建以 DirName(指定的文件名)命名的文件夹或目录.要创建文件夹或目录的用户必须对所创建的文件夹的父文件夹具有写权限.并且,所创建的文件夹(目录)不能与其父目录(即父文件夹)中的文件名重名,即同一个目录下不能有同名的(区分大小写). 命令参数: -m,
Linux rm(删除一个目录中的一个或多个文件或目录或删除非空目录)
rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件均保持不变. rm是一个危险的命令,使用的时候要特别当心,尤其对于新手,否则整个系统就会毁在这个命令(比如在/(根目录)下执行rm * -rf).所以,我们在执行rm之前最好先确认一下在哪个目录,到底要删除什么东西,操作时保持高度清醒的头脑. 命令格式: rm [选项] 文件- 命令功能: 删除一个目录中的一个或多个文件或目录,如
WIN10删除非系统用户的用户文件夹
::------------------WIN10删除非系统用户的用户文件夹------------------ ::实际使用时可以删除类似 "echo 1没有删除Administrator >>C:\系统用户.txt" 的测试提示语句 @echo off del C:\系统用户.txt del C:\删除的用户.txt setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir /a-o/
原生js实现的创建和删除元素实例代码
原生js实现的创建和删除元素实例代码:在实际应用中,往往需要动态的创建和删除指定的元素,下面就通过代码实例介绍一下如何实现此功能.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title&g
javascript如何获取链接参数代码实例
javascript如何获取链接参数代码实例:使用url传递参数,大家应该不陌生,例如: http://www.softwhy.com/home.php?mod=space&do=home&view=all 既然传递参数,那么自然就要获得传递的参数,当然获取参数的方式有多种多样,下面就介绍其中的一种,和大家一起分享,希望能够给大家带来一定的帮助,代码如下: var url="http://www.softwhy.com/home.php?mod=space&do=home
javascript删除所有cookie实例代码
javascript删除所有cookie实例代码:一般情况下都是删除指定的cookie,当然也可以一次性删除所有的cookie,下面就是一段能够实现此功能的代码.代码如下: function clearCookie(){ var keys=document.cookie.match(/[^ =;]+(?=\=)/g); if(keys){ for(var i=keys.length;i--;){ document.cookie=keys[i]+'=0;expires='+new Date(0).
CSS实现的鼠标滑过改变链接文字实例代码
CSS实现的鼠标滑过改变链接文字实例代码: 鼠标滑过的时候,有时候需要改变链接中的文本,这个如果使用js就比较好实现,当然使用CSS也并不难,下面就是一段这样的代码实例,下面就做一下介绍,希望对需要的朋友带来一定的帮助. 代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http
java 成员变量、局部变量、静态变量、类变量、非静态变量、实例变量、向前引用、非法向前引用、静态代码块、非静态代码块
①java类的成员变量有俩种: 一种是被static关键字修饰的变量,叫类变量或者静态变量 另一种没有static修饰,为成员变量 ②通俗点说: 类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享.静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期. 而实例变量取决于类的实例.每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期. 注意点: 1.JAVA中初始化