php 设置磁盘权限的批处理文件

 更新时间:2016年11月25日 15:13  点击:1962
php 设置磁盘权限的批处理文件

第一步:输入网站访问帐号(为空则使用默认帐号[IUSR_****]),脚本会自动获取IUSR帐号,如IUSR帐号被改名则无法获取,[]中将显示空。另外如需要用其它帐号作为IIS访问帐号,则在这里填入,如不需要更改则直接回车。

第二步:为获取文件列表及初始化变量,这里花费时间也比较长。

第三步:设置C盘权限,因文件比较多,另外为防止有个别文件未继承权限,每一个文件都是重设置了,权限所以运行时间会比较长。

第三步:设置其它盘符时,如不需要,则输入N退出。

第四步:依次输入你的网站所在目录,如不在这里输入,则网站目录将没有权限访问。

@echo off
cls
echo       ##########################################################
echo       #                                                        #
echo       #                      设置磁盘权限                      #
echo       #            Tony www.023.com.cn  VPS,服务器租用        #
echo       #                                                        #
echo       #  注意事项:                                            #
echo       #                                                        #
echo       #      1 如需使用PHP请先使用“服务器自主管理工具箱”安     #
echo       #        装再使用此程序设置权限,若手动安装PHP则需手动   #
echo       #        给PHP目录加上USERS的读权限再使用此脚本。        #
echo       #                                                        #
echo       #      2 此脚本只给了网站目录IIS访问帐户的修改权限,     #
echo       #        如需要使用.net需手动加上IIS_WPG组的权限。       #
echo       #                                                        #
echo       #      3 此脚本只适用于网站服务。                        #
echo       #                                                        #
echo       #      4 添加修改权限方法:右键目录叵文件--属性--安全    #
echo       #        选择用户,在下方法勾上需要的权限。点击添加--    #
echo       #        高级--立即查找,选择用户名确定即可添加用户。    #
echo       #                                                        #
echo       ##########################################################
echo.
rem ====================================得到IUSER帐户
net user|find /v "命令成功完成"> %windir%tempisUser1.txt 2>nul
echo.> %windir%tempisUser.txt 2>nul
set webUser=
for /f "skip=4 tokens=1" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=4 tokens=2" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=4 tokens=3" %%i in (%windir%tempisUser1.txt) do echo %%i>> %windir%tempisUser.txt 2>nul
for /f "skip=1" %%i in (%windir%tempisUser.txt) do call:GetIusr %%i
set /p webUser=输入网站访问帐号(为空则使用默认帐号[%webUser%]):
del /f /q %windir%tempisUser1.txt
del /f /q %windir%tempisUser.txt
goto endGetIusr

:GetIusr
set webUser1=%1
if /i %webUser1:~0,5%==IUSR_  set webUser=%1
goto :eof
:endGetIusr
REM ===============================获取C盘文件列表
set /a No=0
set /a No1=0
set /p=初始化程序... <nul
set 退格=
echo y|cacls c: /g administrators:f > nul 2>nul
cacls c: /g system:f /e > nul 2>nul
dir /s /b c: > %windir%tempcacls.txt 2>nul 
dir /s /b %windir% > %windir%tempcacls1.txt 2>nul 
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls.txt"') do set /a totalNo=%%a
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls1.txt"') do set /a totalNo1=%%a+13
set /p=ok < nul
echo.
REM ===============================开始设置C盘权限
set isGoOn=Y
set /p isGoOn=是否设置C盘权限(Y/N)[Y]:
if /i "%isGoOn%"=="N" goto endSetC

set /p=初始化C盘权限... 0/%totalNo%<nul
for /f "tokens=* delims=" %%i in (%windir%tempcacls.txt) do call:setAcl "%%i"
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=初始化C盘权限... OK                               <nul
echo.
set /p=设置C盘权限细节... 0/%totalNo1%<nul
for /f "tokens=* delims=" %%i in (%windir%tempcacls1.txt) do call:addUsers "%%i"
cacls "%windir%" /t /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesODBC" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesServices" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program FilesCommon FilesSystem" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesODBC" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesServices" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "C:Program Files (x86)Common FilesSystem" /g Users:r /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%temp" /g Users:c /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32cmd.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32cacls.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32net.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "%windir%System32regsvr32.exe" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls "c:php5" /r Users /e /c > nul 2> nul
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... OK                                 <nul
echo.
goto endSetC

:setAcl 
set /a No+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=初始化C盘权限... %No%/%totalNo%<nul
set tmpPath=%1
echo y|cacls %1 /g administrators:f > nul 2>nul
cacls %1 /g system:f /e > nul 2>nul
goto :eof

:addUsers
set /a No1+=1
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置C盘权限细节... %No1%/%totalNo1%<nul
cacls %1 /g Users:r /e > nul 2>nul
goto :eof

:endSetC
REM ========================设置其它盘权限
set DiskStr=DEFGHIJKLMNOPQRSTUVWXYZ
set /a DiskNo=23
:GoOnSetDisk
set thisDisk=%DiskStr:~0,1%
set DiskStr=%DiskStr:~1%
set /a DiskNo-=1
set isGoOn=Y
set /p isGoOn=是否设置%thisDisk%盘权限(Y/N)[Y]:
if /i "%isGoOn%"=="N" goto SetOtherDisk
set /p=设置%thisDisk%盘权限... <nul
dir /s /b %thisDisk%: > %windir%tempcacls.txt 2> nul
set /a totalNo=0
set /a No=0
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempcacls.txt"') do set /a totalNo=%%a+1
for /f "tokens=* delims=" %%i in (%windir%tempcacls.txt) do call:setDisk "%%i"
echo y|cacls %thisDisk%: /g administrators:f > nul 2>nul
cacls %thisDisk%: /g system:f /e > nul 2>nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%thisDisk%盘权限... OK                              <nul
echo.
if %DiskNo% GTR 0 goto GoOnSetDisk
goto endSetDisk

:SetOtherDisk
set isSetOther=Y
set /p isSetOther=是否设置其它盘权限(Y/N)[Y]:
if /i "%isSetOther%"=="N" goto endSetDisk
goto :GoOnSetDisk

:setDisk
set /a No+=1
echo y|cacls %1 /g administrators:f > nul 2>nul
cacls %1 /g system:f /e > nul 2>nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%thisDisk%盘权限... %No%/%totalNo%<nul
goto :eof

:endSetDisk
REM =======================设置网站目录权限
tony.rings> %windir%tempwebDir.txt 2>nul
: addWebDir
set WebDir=
set /p WebDir=添加网站目录(为空则添加结束):
if "%WebDir%"=="" goto endAddWebDir
echo %WebDir%>> %windir%tempwebDir.txt 2>nul
goto addWebDir
:endAddWebDir
for /f "tokens=* delims=" %%i in (%windir%tempwebDir.txt) do call:setWebDir "%%i"

goto endSetWebDir

:setWebDir
set /a No=1
set /a totalNo=1
set /p=设置%1权限... <nul
dir /s /b %1> %windir%tempwebSubDir.txt 2>nul
for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%windir%tempwebSubDir.txt"') do set /a totalNo=%%a+1
cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%1权限... 1/%totalNo% <nul
for /f "tokens=* delims=" %%i in (%windir%tempwebSubDir.txt) do call:setWebSubDir "%%i" %1
goto :eof

:setWebSubDir
set /a No+=1
cacls %1 /t /g %webUser%:c /e /c > nul 2> nul
set /p=%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%%退格%<nul
set /p=设置%2权限... %No%/%totalNo% <nul
goto :eof

:endSetWebDir
del /f /q %windir%tempcacls1.txt
del /f /q %windir%tempcacls.txt
del /f /q %windir%tempwebDir.txt
del /f /q %windir%tempwebSubDir.txt
echo.
echo 恭喜您,设置完成,请按任意键退出程序!
pause > nul

在做事时没事要做一个最近更新的日期原先是以20090505这种格式保存的数据,我现在要把它格式化输出成2009/05/05这样的,下面我们就来看看我用php date函数现格式出输我想要的数据吧。

例子

<?php  
      $date1="2006-05-25   17:50:38";  
      echo   date("Y/m/d",strtotime($date1));  
  ?>

date("Y-m-d H:i:s", $t)

举例:

date("Y-m-d H:i:s",strtotime($row["validTime"]) //2007-01-18 15:27:31

date("Y/m/d H:i:s",strtotime($row["validTime"]) //2007/01/18 15:27:31

date("m-d H:i:s",strtotime($row["validTime"]) //01-18 15:27:31

date("Y-m-d",strtotime($row["validTime"]) //2007-01-18


下面我们来看看把$date中保存的日期时间格式化的输出
比如$date保存的是2006-04-23
我要求输出的是04-03

print(date("m-d",strtotime($fdate)));

OK就出来了,

计算字符串的长度(汉字按照两个字符计算)


 *
 * @param   string      $str        字符串
 *
 * @return  int
 */
function str_len($str)
{
    $length = strlen(preg_replace('/[x00-x7F]/', '', $str));

    if ($length)
    {
        return strlen($str) - $length + intval($length / 3) * 2;
    }
    else
    {
        return strlen($str);
    }
}

php 文本转HTML与获取IP函数

/**
 * 文本转HTML
 *
 * @param string $txt;
 * return string;
 */
function Text2Html($txt){
 $txt = str_replace("  "," ",$txt);
 $txt = str_replace("<","&lt;",$txt);
 $txt = str_replace(">","&gt;",$txt);
 $txt = preg_replace("/[rn]{1,}/isU","<br/>rn",$txt);
 return $txt;
}

/**
 * 获得IP
 * return string;
 */
function GetIP(){
 if(!empty($_SERVER["HTTP_CLIENT_IP"])) { $cip = $_SERVER["HTTP_CLIENT_IP"]; }
 else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) { $cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }
 else if(!empty($_SERVER["REMOTE_ADDR"])) { $cip = $_SERVER["REMOTE_ADDR"]; }
 else $cip = "";
 preg_match("/[d.]{7,15}/", $cip, $cips);
 $cip = $cips[0] ? $cips[0] : 'unknown';
 unset($cips);
 return $cip;
}

php ubb代码转换函数


<?php
function ubb($string) {
  $searcharray['bbcode_regexp'] = array(
   "/s*[quote][nr]*(.+?)[nr]*[/quote]s*/is",
   "/([box=(#[0-9A-F]{6}|[a-z]+)])[nr]*(.+?)[nr]*([/box])/is",
   "/[url]s*(www.|https?://|ftp://|gopher://|news://|telnet://|rtsp://|mms://){1}([^["']+?)s*[/url]/ie",
   "/[url=www.([^["']+?)](.+?)[/url]/is",
   "/[url=(https?|ftp|gopher|news|telnet|rtsp|mms){1}://([^["']+?)](.+?)[/url]/is",
   "/[email]s*([A-Za-z0-9-_.]+)@([A-Za-z0-9-_]+[.][A-Za-z0-9-_.]+)s*[/email]/i",
   "/[email=([A-Za-z0-9-_.]+)@([A-Za-z0-9-_]+[.][A-Za-z0-9-_.]+)](.+?)[/email]/is",
   "/[color=([^[]+?)]/i",
   "/[size=([^[]+?)]/i",
   "/[font=([^[]+?)]/i",
   "/[align=([^[]+?)]/i",
   "/[center]/i",
   "/[swf]s*([^[]+?)s*[/swf]/ies",
   "/[img]s*([^[]+?)s*[/img]/ies",
   "/[img=(d{1,3})[x|,](d{1,3})]s*([^[]+?)s*[/img]/ies"
  );
  $replacearray['bbcode_regexp'] = array(
   "<br><br><center><table border="0" width="90%" cellspacing="0" cellpadding="0"><tr><td>&nbsp;&nbsp;Quote:</td></tr><tr><td><table border="0" width="100%" cellspacing="1" cellpadding="10" bgcolor="".BORDERCOLOR.""><tr><td width="100%" bgcolor="".ALTBG2."" style="word-break:break-all">\1</td></tr></table></td></tr></table></center><br>",
   "<blockquote style="background-color: \2 ;"><span class="bold">$title</span>\3</blockquote>",
   "cuturl('\1\2')",
   "<a href="http://www.\1" target="_blank">\2</a>",
   "<a href="\1://\2" target="_blank">\3</a>",
   "<a href="mailto:\1@\2">\1@\2</a>",
   "<a href="mailto:\1@\2">\3</a>",
   "<font color="\1">",
   "<font size="\1">",
   "<font face="\1">",
   "<p align="\1">",
   "<p align="center">",
   "bbcodeurl('\1', ' <img src="images/flash.gif" align="absmiddle"> <a href="%s" target="_blank">Flash: %s</a> ')",
   "bbcodeurl('\1', '<img src="%s" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window';}" onmouseover="if(this.resized) this.style.cursor='hand';" onclick="if(this.resized) {window.open('%s');}">')",
   "bbcodeurl('\3', '<img width="\1" height="\2" src="%s" border="0">')"
  );

  $searcharray['bbcode_str'] = array(
   '[/color]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]',
   '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]',
   '[list=A]', '[*]', '[/list]','[/center]'
  );

  $replacearray['bbcode_str'] = array(
   '</font>', '</font>', '</font>', '</p>', '<b>', '</b>', '<i>',
   '</i>', '<u>', '</u>', '<ul>', '<ol type=1>', '<ol type=a>',
   '<ol type=A>', '<li>', '</ul></ol>','</p>'
  );                 
  $string = str_replace($searcharray['bbcode_str'], $replacearray['bbcode_str'], preg_replace($searcharray['bbcode_regexp'], $replacearray['bbcode_regexp'], $string));

                return $string;
}

function bbcodeurl($url, $tags) {
 if(!preg_match("/<.+?>/s",$url)) {
  if(!in_array(strtolower(substr($url, 0, 6)), array('http:/', 'ftp://', 'rtsp:/', 'mms://'))) {
   $url = 'http://'.$url;
  }
  return str_replace('submit', '', sprintf($tags, $url, $url));
 } else {
  return '&nbsp;'.$url;
 }
}

function cuturl($url) {
 $length = 65;
 $urllink = "<a href="".(substr(strtolower($url), 0, 4) == 'www.' ? "http://$url" : $url).'" target="_blank">';
 if(strlen($url) > $length) {
  $url = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
 }
 $urllink .= $url.'</a>';
 return $urllink;
}
?>

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • Windows批量搜索并复制/剪切文件的批处理程序实例

    这篇文章主要介绍了Windows批量搜索并复制/剪切文件的批处理程序实例,需要的朋友可以参考下...2020-06-30
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • BAT批处理判断服务是否正常运行的方法(批处理命令综合应用)

    批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。这篇文章主要介绍了BAT批处理判断服务是否正常运行(批处理命令综合应用),需要的朋友可以参考下...2020-06-30
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25