php根据行号替换字符串的例子

php要实现根据行号替换内容,使用str_replace这样的函数是无法实现的,可以先根据换行符把文本分割成数字,然后便利数组实现替换功能。

<?php
$url='z.txt';
$content=file_get_contents($url);
$contentArr=explode("\n",$content);
$ikey=0;
foreach($contentArr as &$val){
    if(strpos($val, '<!–nextpage–>') !== false){
        $val=$ikey.' '.$val;
        $ikey++;
    }
}
   
$content=implode("\n",$contentArr);
?>

补充

1. preg_replace()

$msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容

i (PCRE_CASELESS)
如果设定此修正符,模式中的字符将同时匹配大小写字母。
s (PCRE_DOTALL)
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符。

2. ereg()与eregi()

注: preg_match() 函数通常是比 ereg() 更快的替代方案

eregi("<body([^>]+)>(.+)</body>",$data,$b)----察看$data中是否有body标签。如果有,把参数赋值$b[0],中间部分赋值$b[1]。

bool ereg ( string pattern, string string [, array regs] )

int eregi ( string pattern, string string, array [regs] )

eregi()和 ereg() 类似,用法也相同。不同之处在于ereg()有区分大小写,eregi()与大小写无关。

时间: 2024-10-27 16:32:36

php根据行号替换字符串的例子的相关文章

VIUSUAC++ 6.0.编程文件按行号替换问题

问题描述 VIUSUAC++ 6.0.编程文件按行号替换问题 MFC CSTRING读取文件,判断哪一行被修改了,调出行号,并且替换对应行的字符串的算法实现 解决方案 http://www.newxing.com/Tech/Program/Cpp/LD_113.html

linux查找字符串所在文档名称以及行号例子

比如要在abc目录查到aaa字符串 grep -rn "aaa" /wwwroot/abc/ 当前目录下用./ -r 表示递归查找 -n表示显示行号 vi打开的文档如何显示行号 set:number 不显示行号 set:nonumber 跳转到指定行数,比如100行 输入100G回车即可 例子 查找"hello,world!"字符串,可以这样: grep -rn "hello,world!" ./ ./ : 表示路径为当前目录. -r 是递归查找

sed 多行替换,多行模式处理字符串;一次替换

作者:凨 例: 需求:sed 替换多行(2到6行)替换为空,且返回系统配置信息 <?php /**CustomConfigurationStart*/ $c=require APP_PATH.'Common/Conf/config-custom.php'; /*COOKIES,SESSION域*/ $domain=preg_replace('/(.*\.|.*\/\/)?(\w+)\.(\w+)(\/)?$/', '.$2.$3',$c['WWW']); /**CustomConfigurati

复制代码如何处理前面的行号

网上类似的例子很多. 1.一个很懒的方法 2.文本编辑器中正则表达式替换 (一)一种情况是行号后带.   输入^[0-9]+[.] 或者输入 ([0-9][0-9])/.|[0-9]/.  (二)第二种情况是行号数字后带空格,用ultraEdit的替换功能.正则表达式 %[ 1-9][0-9]   .注意:[ 1-9]中[后有空格,[0-9]后也有空格 三.vs环境中支持块选,使用alt+鼠标拖动来实现竖向选择区块,再删除行号. 四.UtraEdit也支持块选,热键alt+c ,再使用alt+鼠

linux中批量查找替换文本内容例子

  .批量查找某个目下文件的包含的内容,例如: # grep -rn "要找查找的文本" ./ 2.批量查找并替换文件内容. # sed -i "s/要找查找的文本/替换后的文本/g" `grep -rl "要找查找的文本" ./` sed的其他用法如下: 1.删除行首空格 sed 's/^[ ]*//g' filename sed 's/^ *//g' filename sed 's/^[[:space:]]*//g' filename 2.行

JS替换字符串中空格方法_javascript技巧

复制代码 代码如下: <input type=hidden name="space" value=" "> 通常情况下输入域当中的 替换不掉(源代码当中有 ,页面上显示为空格),如果想替换掉,可以用另外手段. 增加一个隐藏域,值为 ,然后再替换 复制代码 代码如下: var sp=document.getElementById("space").value; strData = document.all( "CommDN&q

login-C# 怎么动态替换字符串

问题描述 C# 怎么动态替换字符串 原始文件 cna=kIL9DoazbDcCAWVVUDnmV4lC; mobileSendTime=-1; credibleMobileSendTime=-1; ctuMobileSendTime=-1; riskMobileBankSendTime=-1; riskMobileAccoutSendTime=-1; riskMobileCreditSendTime=-1; riskCredibleMobileSendTime=-1; riskOriginalA

LINUX vim替换字符串指令

  vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 sky :s/vivian/sky/g 替换当前行所有 vivian 为 sky :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky :n,$s/vivian/sky/g 替换第 n 行开始到最后

oracle11g-使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存

问题描述 使用sql语句select插入数据时怎么用行号补0为流水号做完单号保存 使用select语句像某个表中插入数据,表的单号要为该语句的ItemCode的值+5位流水号.流水号的规则是查询出来的"RowNum"的值自动补0为5为流水号.怎么出入,查询数据如图 解决方案 新增一列numerical order 类型为字符串 然后写个方法计算numerical order ,insert进去. 但只用sql语句的话,还没想到. 解决方案二: 试试这个: select itemcode