您的位置:

php将内容中的点号替换出去,php将内容中的点号替换出去

本文目录一览:

请问PHP中如何进行文本替换

我的思路是这样的,如果你是想把#号前面的内容全部替换掉,那么可以用PHP里的字符串截取工具,首先,你可以用$pos=strpos(“Resource id #4

”,"#")函数获取到#的位置,然后就可以用substr()方法,该方法用法如下:

语法

substr(string,start,length)

参数

描述

string 必需。规定要返回其中一部分的字符串。

start

必需。规定在字符串的何处开始。

正数 - 在字符串的指定位置开始

负数 - 在从字符串结尾的指定位置开始

0 - 在字符串中的第一个字符处开始

length

可选。规定要返回的字符串长度。默认是直到字符串的结尾。

正数 - 从 start 参数所在的位置返回

负数 - 从字符串末端返回

注释:如果 start 是负数且 length 小于等于 start,则 length 为 0。

例子

例子 1

?php

echo substr("Hello world!",6);

?

输出:

world!

例子 2

?php

echo substr("Hello world!",6,5);

?

输出:

world

php实现将一个文件中的内容替换

命令行下 “ren *.php *.htm” 就可以啊

如果不只是为了修改文件名 而是为了由动态页面生成静态页面 也就是说生成的htm是那个php的预览效果页面

那么具体的还得根据你的php内部代码处理

看你提供的那段代码好像就是实现了一个修改文件名的功能 如果你不愿用命令 就是想用php实现这一功能的话 可以这么写:

$path="./";

$d = dir($path);

while($f=$d-read()) {

if($f=="."||$f=="..")continue;//去掉目录列表中的.和..

$filename=rand(1111111111,9999999999).".htm";//从1111111111-9999999999 中产生一个随机数作为文件名

copy($f,$filename);

}

这个就可以实现你说的功能

但是还有点不是很完善的 你还可以设置输出的路径,检查拷贝状态 多少文件成功多少失败等等 如下

$path="./";

$outputpath="out/";//输出目录

@mkdir($outpath);//如果输出目录不存在 则创建 已经存在创建失败,但不显示出错信息

$d = dir($path);

$i=0;//记录文件数量

while($f=$d-read()) {

if($f=="."||$f=="..")continue;//去掉目录列表中的.和..

$i++;

$filename=$outpath.rand(1111111111,9999999999).".htm";//从1111111111-9999999999 中产生一个随机数作为文件名

if(copy($f,$filename))$j++;//拷贝成功的文件个数+1

else continue;

}

echo "共 $i 个文件 成功拷贝 $j 个文件";

我看到你的消息了 你是要获取所有的页面的预览效果

只需要在copy的文件加上预览的路径就可以了

?

$path="./"; //文件读取目录

$d = dir($path);

$i=0;//记录文件数量

while($f=$d-read()) {

if($f=="."||$f==".."||$f=="copyfile.php")continue;//去掉目录列表中的.和..以及当前执行的文件

$i++;

$filename=str_replace(".php",".htm",$f);//将文件的.php替换成.htm

if(copy("".$f,$filename))$j++;//拷贝成功的文件个数+1

else continue;

}

echo "共 $i 个文件 成功拷贝 $j 个文件";

?

在用的时候确保你的目录先所有的文件都能顺利的的执行 我在测试的时候因为目录中有几个文件有问题 导致一直不成功 去掉了那几个文件就很快了

在对文件名进行处理的时候 如果你的目录下面还有其他类型的文件,建议这样写 :

$filename=$f.".html";//先将文件扩展名增加.html 比如a.php-》a.php.html

$filename=str_replace(".php.","",$filename); //将".php"去掉 a.php.html-a.html

这样可以避免将里面的非php的文件覆盖

php接受带点号的参数是自动把点号转化为下划线,有什么可以解决的方法,急

没办法 程序就这么设定的

Note:

变量名中的点和空格被转换成下划线。例如 input name="a.b" / 变成了 $_REQUEST["a_b"]。

变量名中的点

通常,PHP 不会改变传递给脚本中的变量名。然而应该注意到点(句号)不是 PHP 变量名中的合法字符。至于原因,看看:

?php

$varname.ext; /* 非法变量名 */

?

这时,解析器看到是一个名为 $varname 的变量,后面跟着一个字符串连接运算符,后面跟着一个裸字符串(即没有加引号的字符串,且不匹配任何已知的健名或保留字)'ext'。很明显这不是想要的结果。

出于此原因,要注意 PHP 将会自动将变量名中的点替换成下划线。

php将内容中的点号替换出去

$html='2 播客人气:读取中... 关注人气:读取中...';

echo $html = str_replace("...",",",$html);