【问题标题】:how to limit search box words in php如何在php中限制搜索框单词
【发布时间】:2011-06-19 19:56:09
【问题描述】:

php 如何限制搜索框中的单词?我希望将单词限制在 30 个单词以内,并且不要破坏短语。

我认为它应该结合strlenexplode,但是如何?以及他在打字时如何注意习惯?

谢谢。

【问题讨论】:

  • 如何限制具体在哪里,你能添加更多关于你想要做什么的细节吗?
  • 也许你可以计算空格,但我不确定这是不是个好主意。

标签: php explode strlen


【解决方案1】:

这是与 javascript 相关的,与 PHP 无关。

您可能想要使用 jQuery 并附加一个 onChange 事件。

如果您需要 PHP 脚本,它是:

echo implode( ' ', array_slice(explode(' ',$search),0,30) ); //> Expensive

【讨论】:

  • 我也是这么想的,但这可能与 PHP 相关,例如,如果他想在查询数据库之前检查服务器端的字数,就像您始终验证输入一样在服务器上。
  • 更好? :) 那又如何? XD
  • @yes123,更多的问题是当自定义键入一个字母a重复30+时没有空格键,所以应该添加substr来限制所有单词的长度。
【解决方案2】:

您可以查看 PHP 的 str_word_count function 。你可以数单词。

【讨论】:

  • 我怀疑这个函数对切割有用
【解决方案3】:
$string = preg_replace('/^((?:\s*\w+){0,30}).*$/s', '$1', $string);

【讨论】:

  • @yes123 不是很简单。单词可以用多个空格分隔。
  • +1,这是一个问题,但也许可以先将 2+ 个空格合并为一个。谢谢。
  • @fish 是的,你可以:$string = preg_replace('/[ ]+/', ' ', $string);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多