首页 > phper

php 过滤字符串中链接地址

过滤链接最简单的办法就是利用php教程的strip_tags函数,如下

php过滤html的函数:strip_tags(string) 这样就可以过滤掉所有的html标签了。
如果想过滤掉除了<img src="">之外的所有html标签,则可以这样写:strip_tags(string,"<img>");
过滤除了<img src=""><p>xxx</p><b></b>之外的所有html标签,

阅读全文

二款php无限分类代码与原理

第一分类(父分类)-->第二分类(子分类)-->第三分类(孙分类)

这种亲缘分类越多,程序和数据库教程的控制就越加的复杂困难.在同一级的分类处理和控制是非常的简单的,因为只需要一个数据库来记载这一级的分类就行了,如:系统,新闻等分类,在这一级上处理是很简单的,但对一个网站来说一级分类是不够的,还需要再分类
//我们建一个表"class"
CREATE TABLE `class` (
  `id` int(11) NOT NULL auto_increment COMMENT '分类id',
  `f_id` int(11) NOT NULL COMMENT '父id',
  `name` varchar(25) collate gbk_bin NOT NULL COMMENT '分类名称',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=gbk COLLATE=gbk_bin AUTO_INCREMENT=1 ;
 
//首先我们往数据库里插入‘新闻’这个大分类,因为‘新闻’是最大分类,上面没有父类了,所以我把它的f_id设置为0。
INSERT INTO `class` (`id`, `f_id`, `name`) VALUES(1, 0, '新闻');   //id这个字段是自动增长的,可以不写值。
 
//然后我们再往数据库里插入‘PHP新闻’这个分类,它的父类‘新闻’的id是1,所以它的f_id设置为1。
INSERT INTO `class` (`id`, `f_id`, `name`) VALUES(2, 1, 'PHP新闻');
 
//然后我们再往数据库里插入‘PHP6.0出来了’这个分类,它的父类‘PHP新闻’的id是2,所以它的f_id设置为2。
INSERT INTO `class` (`id`, `f_id`, `name`) VALUES(3, 2, 'PHP6.0出来了');
 
//同理,我们可以这样一直往下插入分类,也就达到了无限分类。
//我们可以发现插入一个分类的原则关键是找到这个分类的父类的id,然后作为这个分类的f_id字段的值。
//假设要插入跟‘新闻’同一个级别的分类‘技术’,也就是说它也是最大分类,上面没有父类了,那么它的f_id也设置为0;
INSERT INTO `class` (`id`, `f_id`, `name`) VALUES(4, 0, '技术');
 
//在‘技术’下面又有一个分类‘PHP技术’,那么我们怎么插入呢,首先找到‘PHP技术’的父类‘技术’的id,然后作为自己的f_id字段的值。
INSERT INTO `class` (`id`, `f_id`, `name`) VALUES(5, 4, 'PHP技术');
 
//看到这里,想必大家应该都明白怎么往数据库里插入各个分类了。就不再举例了。

阅读全文

pdo操作数据库入门教程

pdo操作数据库教程入门教程

我们开始构造第一个PDO应用,建立一个pdo.php教程文件在Web文档目录下:
PDO功能确实强大,另外还有一些内容我没有讲到,比如绑定参数、预处理、存储过程、事务处理等等功能。另外还有不同数据扩 DSN的构造,Oracle数据库自己很多特殊的东西,都需要深入去学习理解,这篇文章就只是简单的描述了一些入门知识,算是对PDO一个简单的了解吧
<?php
 $dsn = "mysql教程:host=localhost;dbname=test";
 $db = new PDO($dsn, 'root', '');
 $count = $db->exec("INSERT INTO foo SET name = 'heiyeluren',gender='男',time=NOW()");
 echo $count;
 $db = null;
?>

阅读全文

php 中利用 socket curl file_get_contents模仿用户post发送信息

开发中经常用到关于用程序 模仿用户post信息,下面我介介绍了几种方法,有需要的朋友参考一下。
# <?php教程  
# /** 
# * Socket版本 
# * 使用方法: 
# * $post_string = "app=socket&version=beta"; 
# * php教程_by_socket('facebook.cn','/restServer.php',$post_string); 
# */ 
# function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30){  
#     $socket = fsockopen($remote_server,$port,$errno,$errstr,$timeout);  
#     if (!$socket) die("$errstr($errno)");  
#      
#     fwrite($socket,"POST $remote_path HTTP/1.0");  
#     fwrite($socket,"User-Agent: Socket Example");  
#     fwrite($socket,"HOST: $remote_server");  
#     fwrite($socket,"Content-type: application/x-www-form-urlencoded");  
#     fwrite($socket,"Content-length: ".strlen($post_string)+8."");  
#     fwrite($socket,"Accept:*/*");  
#     fwrite($socket,"");  
#     fwrite($socket,"mypost=$post_string");  
#     fwrite($socket,"");  
#      
#     $header = "";  
#     while ($str = trim(fgets($socket,4096))) {  
#         $header.=$str;  
#     }  
#      
#     $data = "";  
#     while (!feof($socket)) {  
#         $data .= fgets($socket,4096);  
#     }  
#      
#     return $data;  
# }  
#  
关socket更详细教程请查看
php教程

阅读全文

php 代码运行时间查看类

php教程 代码运行时间查看类

//date:2011-08-05
class RunTime//页面执行时间类
{
 private $starttime;//页面开始执行时间
 private $stoptime;//页面结束执行时间
 private $spendtime;//页面执行花费时间
 function getmicrotime()//获取返回当前微秒数的浮点数
 {
  list($usec,$sec)=explode(" ",microtime());
  return ((float)$usec + (float)$sec);
 }
 function start()//页面开始执行函数,返回开始页面执行的时间
 {
  $this->starttime=$this->getmicrotime();
 }
 function end()//显示页面执行的时间
 {
  $this->stoptime=$this->getmicrotime();
  $this->spendtime=$this->stoptime-$this->starttime;
  //return round($this->spendtime,10);
 }
 function display()
 {
     //$this->end();
     echo "<p>运行时间:".round($this->spendtime,10)."秒</p>";
 }
}
/*调用方法  
$timer=new Runtime();
$timer->start(); 

阅读全文