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

作者:袖梨 2022-06-24

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

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


补充

1. preg_replace()

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

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


2. ereg()与eregi()

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

eregi("]+)>(.+)",$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()与大小写无关。

相关文章

精彩推荐