2010-03-21 25 views
0

我使用substr修剪字符串中的前100个字符。但是我需要一个可以修剪特定数量的单词的函数,而不是字符串中的字符?substr like函数在完整的单词上工作

$trimmed_details = substr($row->details, 0, 200).'...'; 

有没有一个内置的函数来做到这一点?

+0

你能提供一个你想要的例子吗? – geffchang 2010-03-21 16:34:52

回答

1

试试这个:

join(" ", explode(" ", $yourStr, 100)); 
+1

'join'只是一个别名,更好的使用'implode'。恕我直言,它与“爆炸”更好地融合在一起。此外,考虑到这一点:“如果limit(爆炸的第三个参数)被设置并且为正数,返回的数组将包含最大限制元素,并且最后一个元素包含字符串的其余部分。” - 你必须摆脱最后一个。 – middus 2010-03-21 16:08:08

+0

我如何摆脱最后一个? – amit 2010-03-21 16:37:32

+0

你可以将explode和array_slice()结合起来。像这样: implode(“”,array_slice(explode(“”,$ yourStr,101),0,100)); – Nycto 2010-03-21 17:58:49

1

没有,在这两个PHP和MySQL没有内建函数。因为在任何一个系统中都没有数据类型“(语言)字”。你可以发明一些正则表达式来做到这一点,但我会放弃并使用旧的基于字符的修整。