2010-08-27 35 views
0

我需要一个简单的功能单词的字符(例如function_cut)从可变字符切如果字符数是除去大于14 例如当前$用户具有18个字符,我需要削减4个(无所谓哪一个)。PHP的简单的功能从

 
$user = "abc123abc123abc123"; 

$user = function_cut($user); 
+0

你是说你只是削减任何4个字符从字符串?你是不是随机的,或者你是否为了实现的简单性而减少了前4个或后4个? – milesmeow 2010-08-27 14:05:54

回答

5

substr

$first_14_characters = substr($string, 0, 14); 
+1

为什么选择投票? – 2010-08-27 14:05:08

+1

+1:反击倒票,因为你是第一个回答者,虽然没有详细说明。 – shamittomar 2010-08-27 14:06:54

+2

哇。今天艰难的人群! @Everyone - 无论是否提供示例,第一个说'substr'的​​答案都应该是正确的。继续! :P – karim79 2010-08-27 14:15:17

0

可以使用substr功能是这样的:

function cut($str){ 
    return substr($str, 0, 14); 
} 

$user = cut($user); 
echo $user; 
+0

这是错误的,它会删除最后4个字符,无论字符串的长度,并且这显然不是什么问题问 – Aillyn 2010-08-27 14:05:33

+1

@Aillyn:你需要再看一遍,没有错:) – Sarfraz 2010-08-27 14:06:29

+0

偷偷摸摸的编辑。你有'SUBSTR($海峡,0,-4)''然后SUBSTR($海峡,0,strlen的($ STR)-4)' – Aillyn 2010-08-27 14:09:42

2
+0

缺少分号; – shamittomar 2010-08-27 14:07:27

+2

@shamittomar我很确定OP知道自己添加一个分号。除了你并不总是需要分号 – Aillyn 2010-08-27 14:08:26

+2

任何人都可以解释downvote的正确答案吗? – 2ndkauboy 2010-08-27 14:10:01

1
<?php 
    $user = "abc123abc123abc123"; 
    $user = substr($user, 0, 14); 
?> 
+0

@Aillyn,我没有降低你的答案。我只是向你解释为什么有人这样做。我回答说,因为在我发布的时候,没有人详细说明。 – shamittomar 2010-08-27 14:09:59

+0

对不起。它和其他人的答案一样。我虽然删除了我的downvote。 – Aillyn 2010-08-27 14:12:10

+1

仅仅因为两个人在同一时间写同一个答案,但一个人提交速度更快,这并不会导致downvote! – 2ndkauboy 2010-08-27 14:16:26

1

所有的解决方案是好的,但如果你有UTF8的数据,你应该使用功能的多字节版本,分别为mb_substr

function cut($str){ 
    return mb_substr($str, 0, 14); 
}