这篇文章主要介绍php删除某一行的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
php删除某一行的实现方法:首先创建一个PHP示例文件;然后定义一个delTargetLine方法;接着通过strpos函数查找目标字符串的坐标;最后删除内容所在的某一行即可。
PHP文件操作之,插入某行,删除某行,获取行号
#在需要查找的内容后一行新起一行插入内容
function insertAfterTarget($filePath, $insertCont, $target)
{
$result = null;
$fileCont = file_get_contents($filePath);
$targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
if ($targetIndex !== false) {
#找到target的后一个换行符
$chLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
if ($chLineIndex !== false) {
#插入需要插入的内容
$result = substr($fileCont, 0, $chLineIndex + 1) . $insertCont . "\n" . substr($fileCont, $chLineIndex + 1);
$fp = fopen($filePath, "w+");
fwrite($fp, $result);
fclose($fp);
}
}
19 }
#删除内容所在的某一行
function delTargetLine($filePath, $target)
{
$result = null;
25 $fileCont = file_get_contents($filePath);
$targetIndex = strpos($fileCont, $target); #查找目标字符串的坐标
if ($targetIndex !== false) {
#找到target的前一个换行符
$preChLineIndex = strrpos(substr($fileCont, 0, $targetIndex + 1), "\n");
#找到target的后一个换行符
$AfterChLineIndex = strpos(substr($fileCont, $targetIndex), "\n") + $targetIndex;
if ($preChLineIndex !== false && $AfterChLineIndex !== false) {
#重新写入删掉指定行后的内容
$result = substr($fileCont, 0, $preChLineIndex + 1) . substr($fileCont, $AfterChLineIndex + 1);
$fp = fopen($filePath, "w+");
fwrite($fp, $result);
fclose($fp);
}
}
}
#获取某段内容的行号
/**
* @param $filePath
* @param $target 待查找字段
* @param bool $first 是否再匹配到第一个字段后退出
* @return array
*/
function getLineNum($filePath, $target, $first = false)
{
$fp = fopen($filePath, "r");
$lineNumArr = array();
$lineNum = 0;
while (!feof($fp)) {
$lineNum++;
$lineCont = fgets($fp);
if (strstr($lineCont, $target)) {
if($first) {
return $lineNum;
} else {
$lineNumArr[] = $lineNum;
}
}
}
return $lineNumArr;
}
以上是php删除某一行的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。