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()与大小写无关。
新闻热点
疑难解答