2012-09-09 84 views
1

我有一個字符串,例如:PHP字符串操作

「ABC B,BCD VR,CD的deb」

我想借這個字符串的第一個字,直到每在這種情況下單點會導致「abc bcd cd」。我的代碼不幸不起作用。你可以幫我嗎?

<?php 
$string= "abc b, bcd vr, cd deb"; 
$ay = explode(",", $string); 
$num= count($ay); 
$ii= 0; 
while ($ii!=$num){ 
$first = explode(" ", $ay[$ii]); 
echo $first[$ii]; 
$ii= $ii+1; 
} 
?> 
+0

嘗試使用正則表達式。 – 2012-09-09 12:51:21

回答

1
<?php 
function get_first_word($string) 
{ 
    $words = explode(' ', $string); 
    return $words[0]; 
} 

$string = 'abc b, bcd vr, cd deb'; 
$splitted = explode(', ', $string); 
$new_splitted = array_map('get_first_word', $splitted); 

var_dump($new_splitted); 
?> 
+0

Tnks你很多! –

0
<?php 
$string= "abc b, bcd vr, cd deb"; 
$ay = explode(",", $string); 
$num= count($ay); 
$ii= 0; 
while ($ii!=$num){ 
$first = explode(" ", $ay[$ii]); 
echo ($ii == 0) ? $first[0] . " " : $first[1] . " "; 
$ii= $ii+1; 
} 
?> 

,當你得到第一個元素becouse explode藉此煥你應該只需要$first[$ii]是第一要素空間之前。

0
$string= "abc b, bcd vr, cd deb"; 
$ay = explode(",", $string); 
foreach($ay as $words) { 
    $words = explode(' ', $words); 
    echo $words[0]; 
} 
0

使用array_reduce()

$newString = array_reduce(
    // split string on every ', ' 
    explode(", ", $string), 
    // add the first word of every comma section to the partial string 
    function(&$result, $item){ 

     $result .= array_shift(explode(" ", $item)) . " "; 

     return $result; 

    } 
);