基于一定长度获取字符串而不切割它

时间:2014-04-30 23:02:15

标签: php mysql string substr

让我说我需要从MySQL数据库中获取一个小于150个字符的字符串但是我不想删掉最后一个字,而是我需要它直到最后一个空格并且少于150个字符。 例如:

我想:

德里克·罗斯和芝加哥公牛队。

我不想要

Derrick Rose和Chica。

有没有办法在MySQL,PHP或两者的组合中做到这一点?

2 个答案:

答案 0 :(得分:2)

您可以使用内置字符串函数执行此操作:

  • 反转字符串的前150个字符
  • 找到反向字符串中的第一个空格
  • 使用此信息获取正确的字符串

SQL看起来像这样:

select left(left(str, 150), 150 - locate(' ', reverse(left(str, 150))))

答案 1 :(得分:0)

在PHP中编写一个从150位开始的循环,然后返回它,直到它遇到空格字符或字符串的开头。

如果遇到空格字符,请将字符串开头的所有字符移到刚刚找到的位置。否则,请使用前150个字符(前150个字符中没有空格字符)。