如何从字符串中获取前 x 个字符,而不切断最后一个单词?

2023-12-27

我的变量中有以下字符串。



Stack Overflow is as frictionless and painless to use as we could make it.
  

我想从上面的行中获取前 28 个字符,所以通常如果我使用substr http://php.net/manual/en/function.substr.php然后它会给我Stack Overflow is as frictio这个输出,但我想要输出为:



Stack Overflow is as...
  

PHP 中是否有任何预制函数可以执行此操作,或者请为我提供 PHP 中的代码?

Edited:

我想要字符串中总共 28 个字符而不破坏一个单词,如果它返回的字符数少于 28 个字符而不破坏一个单词,那很好。


您可以使用wordwrap() http://php.net/wordwrap函数,然后在换行符上爆炸并获取第一部分:

$str = wordwrap($str, 28);
$str = explode("\n", $str);
$str = $str[0] . '...';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从字符串中获取前 x 个字符,而不切断最后一个单词? 的相关文章

  • 在 PHP 中创建视图 - 最佳实践 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在与另外 2 名开发人员一起开发一个网站 我只负责创建视图 数据在对象中可用 并且我有 getter 来读取数据然后创建 XHTML 页面
  • a 是什么意思? (点)在 PHP 中做什么?

    以下命令在 PHP 中执行什么操作 string string is something which I declared in the program 就其本身而言 它根本没有任何作用 它不是有效的语法 但是 如果你有这样的事情 你会看见
  • Drupal - 使用引导程序检查 Drupal 之外的登录用户不起作用

    我正在绞尽脑汁地想弄清楚这个问题 在 Drupal 目录之外时 我无法让 Bootstrap 正常工作 如果我在 Drupal 目录中运行此代码 它可以正常工作 但向上一级不起作用 我的 Drupal 路径是 public html dru
  • 使用 'with' 时 Laravel ownsTo 返回 null

    我刚刚开始使用 Laravel 所以请原谅任何菜鸟 我有一个User and Order模型中 一个用户有多个订单 Inside User model public function orders this gt hasMany Order
  • 服务器发送的事件在脚本完成之前不会更新

    我有一个更新数据库的小脚本 目前处理时间大约需要一分钟左右 但是随着数据库的增加 时间也会增加 我想在脚本运行时向用户提供更新 以便他们知道脚本的状态并且它仍在运行 我实现了服务器端事件 虽然它有效 但在脚本完全完成之前 不会将任何更新发布
  • 在 Windows 中设置 PHP SOAP 扩展

    我对如何根据网上的内容在 Windows 中设置 PHP SOAP 扩展有很多困惑 您能帮帮我吗 我该怎么做呢 有什么建议参考吗 参考PHP docs http php net manual en install windows exten
  • 如何避免 在选择文件后删除值?

    我正在开发一个网络上传器 但是 我发现了一些东西 我不知道这是否是一个问题 这是我发现的 当我选择文件时
  • PHP:如果我以非静态方式调用静态方法怎么办?

    我不是面向对象编程专业人士 我有一个愚蠢的问题 class test public static function doSomething arg foo I ate your arg return foo 那么正确的调用方式doSomet
  • 为什么 PHP 中加密的内容与 Ruby 中加密的相同字符串不匹配?

    这是我的要求 我需要使用 AES 加密 包括随机 iv 对 PHP 中的字符串进行加密 对其进行 Base64 编码 然后对其进行 URL 编码 以便可以将其作为 URL 参数传递 我试图在 PHP 和 Ruby 中获得相同的结果 但我无法
  • 使 Chrome 即使在 500 或 404 代码上也能显示页面(表现得像 Firefox)

    我们正在 Symfony 中开发一个新网站 当 Symfony 遇到错误 例如 找不到路由 并且 debug 设置为 true 时 它 不仅会输出 404 代码 而且实际上会在页面上显示错误 Firefox 显示服务器返回的内容 但 Chr
  • phpunit 避免模拟的构造函数参数

    有什么方法可以避免 phpunit 调用模拟对象的构造函数 否则我需要一个模拟对象作为构造函数参数 另一个模拟对象作为构造函数参数 等等 api 似乎是这样的 getMock className methods array array ar
  • 设置快捷方式以替换 VIM 中轻松选择的字符串

    我有很多 php html 文件 其中包含许多应该使用 gettext 国际化的字符串 因此 我必须遍历每个文件 找到 消息 字符串并将每个字符串替换为 I use vim and would like to setup a shortcu
  • 从 split 切换到 preg_split 时 php preg_split 错误

    在从 split 更改为 preg split 以获得 php 5 3 兼容性后 我从 php 收到此警告 PHP Warning preg split Delimiter must not be alphanumeric or backs
  • 如何将 NSArray 元素连接到 NSString 中?

    给定一个 NSString 的 NSArray 是否有一种快速方法将它们连接成一个 NSString 带有分隔符 NSArray stuff NSString combinedStuff stuff componentsJoinedBySt
  • 使用 wp_read_audio_metadata()

    我正在尝试从 WordPress 中的 mp3 文件获取一些元数据 特别是长度变量 这是我的一些代码 这里没有显示 但我已经包含了 wp admin includes media php 文件 当我查看我的页面时http beta open
  • 当字符串太长时截断

    我有两个字符串 short string hello world long string this is a very long long long string suppose more than 10000 chars 我想改变默认行为
  • 在进程注册后显示 div,woocommerce

    在网站注册过程后 我想显示一个隐藏的div div 位于同一页面中 但注册后 页面将加载并显示相同的页面 这是表单处理程序 php public static function process registration nonce valu
  • array_search 返回错误的键[重复]

    这个问题在这里已经有答案了 我有这个数组 ar key1 gt John key2 gt 0 key3 gt Mary 并且 如果我写 idx array search Mary ar echo idx I get key2 我在网上搜索过
  • 提取两个段落之间的共同词?

    如何提取php5中两个或多个段落之间的常用词 我想总结每个文本以创建排名靠前的单词列表可能会起作用 然后比较它们 我想最基本的方法是 split each paragraph into an array of words using eit
  • 设计问题:哪种做法更好? (第2部分)

    我有一个 Web 界面 我将从中收集用户数据 用户名 密码 电子邮件等 后端必须将这些数据提供给 3 个其他系统 SystemA SystemB SystemC 配置由 3 个不同的 API 完成 每个 API 对应一个系统 A B 和 C

随机推荐