如何用大写字母分隔单词? - php

我有这样的字符串:

SadnessSorrowSadnessSorrow

单词串联在一起,没有任何空格。每个单词都以大写字母开头。我想将这些单词分开,然后选择前2个单词放入新字符串中。

我需要在使用preg_match函数的php应用程序中执行此操作。

我应该怎么做?

我尝试使用[A-Z],但是由于某种原因我无法正确使用它。

参考方案

在这里,我们还可以将字符串除以大写字母,可能类似于:

$str = "SadnessSorrowSadnessSorrow";

$str_array = preg_split('/\B(?=[A-Z])/s', $str);

foreach ($str_array as $value) {
    echo $value . "\n";
}

根据bobble bubble的建议,最好使用\B(?=[A-Z])代替(?=[A-Z]),否则我们可能会使用PREG_SPLIT_NO_EMPTY
输出量

Sadness
Sorrow
Sadness
Sorrow

php preg_replace两个或更多空格 - php

我正在寻找替换多个空格字符的实例。我最初的搜索似乎都集中在使用/s,但这包括换行符和其他空格我认为应该接近吗?用一个空格替换两个或更多实例空格" "preg_replace('/ {2,}/', ' ', $string); 参考方案 尝试一下:preg_replace('/\s\s+/&…

php preg_replace电话号码 - php

我想用html字符串替换给定的电话号码,例如<a>click here now! (123) -456-789</a> 我认为最好的解决方法是找到所有看起来像电话号码的不同情况,例如:$pattern = *any 3 numbers* *any characters up to 3 characters long* $pattern…

PHP:Preg_replace,单词边界和非单词字符 - php

我需要替换文本中以井号(#)开头的单词。好吧,我知道如何替换整个单词。preg_replace("/\b".$variable."\b/", $value, $text);由于该\ b修饰符仅接受单词字符,因此不会替换包含井号的单词。我有这个html,其中包含#companyName类型的变量,我将其替换为一个值。 参…

preg_replace转义斜杠 - php

模式包含斜线时出现未知的修饰符错误码:preg_replace('/$v/', $replacement, $string) var $ v,有时是目录路径。$v = folder/folder/file.ext 如何处理preg_replace中的$ v? 参考方案 回滚到我的原始答案,因为事实证明这是可行的,而且dany接受了我的答案…

PHP preg_replace删除字符串中的第一个HTML元素 - php

我想在PHP中删除html字符串(始终是一个段落)的整个第一个元素。我目前的方法是使用:$passage = preg_replace('/.*?\b'.'</p>'.'\b/s', '', $passage, 1); 由于</p>中的特殊字符,此方法不起…