2014-01-19 99 views
-4

我想刪除某些行的X個字符在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); 

b我有一個問題。它不適用於LINES

你能幫我嗎?

+1

你必須遍歷每一行。 – hsz

+0

您是否正在閱讀文件? – Tobias

+0

@hsz你可以給我代碼嗎? – user3212025

回答

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

?> 
+0

非常好,謝謝:X – user3212025

0

您可以使用正則表達式替換:

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

demo

+0

謝謝親愛的。我的問題解決了。 – user3212025

+0

@ user3212025:如果你要做大量的數據替換,這個例子比explode()/ substr()例子快兩倍,見[here](https://eval.in/91724)(但仍然是,優化)。 –

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); 

OUTPUT:

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

非常感謝:XX – user3212025

0

我會說,使用explode與分隔符\n上的文件的內容。這樣,您將得到一個可以循環的字符串數組(循環的每次迭代使用substr)。

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

這個解決方案不是文件!

+0

謝謝親愛的。我的問題解決了。 – user3212025

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()功能年底加入他們的選項。

+0

謝謝親愛的。我的問題解決了。 – user3212025

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] . ' 
'; 
} 
?> 
相關問題