2013-04-11 105 views
0

我有一個php腳本的例子,但在這個例子中我的腳本我只想把最後一個單詞剪成一個字母,單詞「one two three」的例子變成'one.two.t' 我該如何解決它?請幫忙。將最後一個字符串剪成一個字母后用點字符preg_replace

我的PHP腳本

<?php 

$str = 'arya dwi pangga'; 
$str = preg_replace('/ /', '.', $str); 
echo $str; 

?> 

上面的例子將輸出的例子:arya.dwi.pangga,但我想輸出arya.dwi.p,我該如何解決這個問題

回答

3
$str = 'arya dwi pangga'; 
$str = str_replace(' ', '.', $str); 
$cut = strrpos($str, '.')+2; 
$str = substr($str, 0, $cut); 

echo $str; 

輸出:arya.dwi.p

你不需要preg_match()便於內容替換像找到一個空間,並更換了一個點,只是使用str_replace()如果你沒有合作複雜的模式找到。

我搜索了strrpos()找到最後一次發生的針(在這種情況下是'。'),加了+2(點本身和下一個字母),並知道在哪個位置切斷了該串,然後用substr()去掉它。

1
$str = 'arya dwi pangga'; 
$str1 = preg_replace('/ /', '.', $str); 
$str2 = substr(strrchr($str1, '.'), 1,1); 
$string = explode('.', $str1); 
array_pop($string); 
$string1 = implode('.', $string); 
echo "<br>"; 
echo $string1.".".$str2; 
0
$str = 'arya dwi pangga'; 
$str = preg_split('/\s+/', $str); //Split string by space characters 

$last = count($str) - 1 ; 
$str[$last] = substr($str[$last], 0, 1); //Leave only the first character of last element 
$str = implode(".", $str);  //Get the full string back with dots instead of spaces. 

echo $str ; 
相關問題