gpt4 book ai didi

php - preg_replace (#\s+#) 的简单模式的含义?

转载 作者:行者123 更新时间:2023-12-03 11:22:20 27 4
gpt4 key购买 nike

抱歉问了一个非常基本的问题,但是搜索这样的字符串并不容易,nor here不在 Google 或 SymbolHound 中.在 PHP 手册( Pattern Syntaxpreg_replace )中也没有找到答案。

此代码位于接收 $content 的函数内和 $length参数。
那是什么preg_replace服务于?

$the_string = preg_replace('#\s+#', ' ', $content);
$words = explode(' ', $the_string);

if( count($words) <= $length )

另外,使用 str_word_count 会更好吗?反而?

最佳答案

此模式用单个常规空格 (' ') 替换连续的空格字符(注意,不仅是空格,还包括换行符或制表符)。 \s+说“匹配一个由一个或多个空格字符组成的序列”。
#符号是模式的分隔符。可能更常见的是看到由正斜杠分隔的模式。 (实际上,您可以在没有分隔符的情况下在 PHP 中执行 REGEX,但这样做会影响模式的处理方式,这超出了本问题/答案的范围)。

http://php.net/manual/en/regexp.reference.delimiters.php

依靠空格来查找字符串中的单词通常不是最好的方法——我们可以使用 \b词边界标记代替。

$sentence = "Hello, there. How are you today? Hope you're OK!";
preg_match_all('/\b[\w-]+\b/', $sentence, $words);

这就是说:获取较大字符串中仅由字母数字字符或连字符组成的所有子字符串,并且这些子字符串被单词边界包围。
$words现在是句子中使用的单词数组。

关于php - preg_replace (#\s+#) 的简单模式的含义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521456/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com