我有一个 php 脚本示例,但在这种情况下,我的脚本我只想将最后一个单词剪成一个字母,单词“一二三”的示例变成了 'one.two.t' 我该如何解决?请帮忙。
我的 php 脚本示例
<?php
$str = 'arya dwi pangga';
$str = preg_replace( '/ /', '.', $str );
echo $str;
?>
上面的示例将输出: arya.dwi.pangga 但我想要输出 arya.dwi.p ,我该如何解决这个问题
我有一个 php 脚本示例,但在这种情况下,我的脚本我只想将最后一个单词剪成一个字母,单词“一二三”的示例变成了 'one.two.t' 我该如何解决?请帮忙。
我的 php 脚本示例
<?php
$str = 'arya dwi pangga';
$str = preg_replace( '/ /', '.', $str );
echo $str;
?>
上面的示例将输出: arya.dwi.pangga 但我想要输出 arya.dwi.p ,我该如何解决这个问题
$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()
切割它。
$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;
$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 ;