如何删除某些行的X个第一个字符

时间:2014-01-19 11:53:56

标签: php

我想删除php中某些行的X字符。但我有一个问题。

例如,我有这个:

1234,ali
1112,hasan
1555,ahmad
8555,mehdi4
4441,arash
7889,sajad125
1000,mohamad25

现在我想要这个:

ali
hasan
ahmad
mehdi4
arash
sajad125
mohamad25

我只想删除5个第一个字符,

我也用过:

echo substr($str,5);

但我有一个问题。它不适用于 LINES

你能帮助我吗?

7 个答案:

答案 0 :(得分:0)

您可以使用正则表达式替换:

echo preg_replace('~^\d+,~m', '', $string);

demo

答案 1 :(得分:0)

这样做..

<?php
$val='1234,ali
1112,hasan
1555,ahmad
8555,mehdi4
4441,arash
7889,sajad125
1000,mohamad25';

$arr = explode(PHP_EOL,$val);
foreach($arr as &$v)
{
$v = substr($v,5);
}

echo "<pre>";

print_r($arr);

输出:

Array
(
    [0] => ali
    [1] => hasan
    [2] => ahmad
    [3] => mehdi4
    [4] => arash
    [5] => sajad125
    [6] => mohamad25
)

答案 2 :(得分:0)

我想说,对文件内容使用explode和分隔符\n。这样,您将获得一个字符串数组,您可以通过它循环(并在循环的每次迭代中使用substr)。

答案 3 :(得分:0)

<?php
$t="1234,ali
1112,hasan
1555,ahmad
8555,mehdi4
4441,arash
7889,sajad125
1000,mohamad25";

$r= explode("\n",$t);

foreach ($r as $item) {
    echo substr($item,5)."<br>";
}

?>

答案 4 :(得分:0)

$string = (you have to set this)
$lines = explode("\n",$string);
$output = array();
foreach($lines as $line){
    $output[] = substr($line,0,5);
}

此解决方案不适用于文件!

答案 5 :(得分:0)

当然substr($str,5);无效。您需要将字符串拆分为多行才能使用它。

$string = "1234,ali
1112,hasan
1555,ahmad
8555,mehdi4
4441,arash
7889,sajad125
1000,mohamad25";

$lines = explode("\n", $string);
foreach($lines as $line)
    echo substr($line, 5);

作为一个选项,你可以简单地将这些值存储在另一个数组的循环中,并在最后用implode()函数将它们连接起来。

答案 6 :(得分:0)

它不是那么漂亮的代码,但应该有效:

<?php
$str = '1234,ali
1112,hasan
1555,ahmad
8555,mehdi4
4441,arash
7889,sajad125
1000,mohamad25';
$linesArr = explode('
', $str);
foreach($linesArr as $line) {
    $valuesArr = explode(',', $line);
    echo $valuesArr[1] . '
';
}
?>