php - ## 之后使用 php 删除部分字符串?
问题描述
我有一个文件,其中有很多行包含##。我想删除##之后的字符串部分。
这是我尝试过的
<?php
$file = fopen("testr.txt", "r");
$NewLineExplode = explode(PHP_EOL,$file);
$NewString = '';
foreach($NewLineExplode as $eachLine) {
$HashExlode = explode('##',$eachLine);
$NewString .= $HashExlode[0].'<br>';
}
echo $NewString;
?>
testr.txt 看起来像这样
citycredits.ru##.widget_banner
anvidelabs.org##.widget_banners
hcpeople.ru##.widget_board_ads
newsoboz.org##.widget_center > noindex
softolet.ru##.widget_custom_html
edurusnews.ru##.widget_execphp
poznamka.ru##.widget_hja_adsense
softolet.ru##.widget_media_image
yuzhny.info##.widget_media_image > img[width="360"][height="520"]
输出应该是这样的
citycredits.ru
anvidelabs.org
hcpeople.ru
newsoboz.org
softolet.ru
解决方案
$filePath = 'testr.txt';
$file = fopen($filePath, 'r');
if ($file) {
$text = fread($file, filesize($filePath));
$lines = explode(PHP_EOL, $text);
$result = '';
foreach ($lines as $line) {
$result .= substr($line, 0, strpos($line, '##'));
}
echo $result;
}
推荐阅读
- java - 从 arrayList 中删除对象并打印出剩余的对象
- javascript - 为什么参数 multi 在 mongo 请求中不起作用?
- jpa - Kotlin JPA 继承建议
- java - 对象构造在实践中是否保证所有线程都看到初始化的非最终字段?
- amazon-web-services - AWS Cloud9 ...很好,但我只能从默认 VPC 中的根账户启动它
- javascript - 使用本地存储来保持侧边栏的位置
- node.js - 使用 Node.js 控制多个 MAX7219
- python - 如何在 Python 中压缩文件而不是文件夹/目录
- python-3.x - 错误:'builtin_function_or_method' 对象不可迭代
- python - Discordpy Selfbot 不加入服务器但不引发错误