我正在尝试创建一个函数来剪切字符串中的空格和广告标点符号(如果没有)。
这是我的测试字符串:
$test = 'Hey there I am traa la la ';
我希望它变成这个:
$test = 'Hey there I am traa la la.';
这是我尝试过的功能:
function test($mytrim){
for($i = 0; $i <= 5; $i++){
if(substr($mytrim, 0, -1) == ''){
$mytrim = substr($mytrim, 0, -1);
}
}
$punct = array(".",",","?","!");
if(!in_array($mytrim, $punct)){ $mytrim .= '.'; }
return $mytrim;
}
它返回:
$mytrim = 'Hey there I am traa la la. .';
为什么它不起作用的任何想法?
答案 0 :(得分:6)
PHP具有内置trim
功能。至于标点符号,你的代码应该可以正常工作(追加)。
代码示例:
<?php
$testString = " hello world ";
$trimmedString = trim($testString); // will contain "hello world"
$lastChar = substr($trimmedString, strlen($trimmedString)-1); // will be "d"
$punct = array(".",",","?","!");
if(!in_array($lastChar, $punct))
echo $trimmedString.'.'; //will output "hello world."
答案 1 :(得分:1)
function test ($string)
{
$string = trim($string);
if ((substr($string, -1)) != ".")
{
$string .= ".";
}
}
答案 2 :(得分:1)
function adspunctuation($str)
{
$str = trim($str) . (substr($str, -1)!='.' ? '.' : '');
return $str;
}