php - 如果一行少于 x 个单词,则将其删除

标签 php regex

我在 $text 中有以下文本:

$text = 'Hello world, lorem ipsum.

What?

Hello world, lorem ipsum what.

Excuse me!';

如果一行中的单词少于 3 个单词,那么我想完全删除该行。所以带有 What?Excuse me! 的行应该从字符串中删除。

是否有正则表达式方法或我该如何处理?

最佳答案

我想到了这个。我倾向于尽可能避免使用正则表达式,因为正则表达式往往会减慢速度。

$str = 'Hello world, lorem ipsum.

What?

Hello world, lorem ipsum what.';

$new_str = explode("\n", $str);

foreach ($new_str as $keys => &$lines) {
    $lines = trim($lines);
    if (substr_count($lines, " ") < 2) {
         unset($new_str[$keys]);
    }
}

$new_str = implode("\n", $new_str);
print_r($new_str);

打印出来的是:

Hello world, lorem ipsum.
Hello world, lorem ipsum what.

关于php - 如果一行少于 x 个单词,则将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533526/

相关文章:

php - 无效的日期时间格式 : 1366 Incorrect string value

php - Laravel:如何在 maatwebsite DOMPDF 导出中更改 PDF 样式?

php - 哪里是放置 header ("Location: loggedin.php"的最佳位置);

php - 我如何创建这个数组? (PHP)

java - 正则表达式在java中验证用户名

php - 如何检查客户端是否接受特定的返回类型?

c++ - 如何在 C++11 中使用 <regex>

regex - 在 bash 中使用正则表达式验证输入

java - Java中的正则表达式命名组

javascript - Node.js 数组检查失败即使返回 false 也会处理条件