首页 > 解决方案 > ## 之后使用 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

标签: phpregex

解决方案


$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;
}

推荐阅读