相关疑难解决方法(0)

大写姓氏,不包括姓氏的小写前缀部分

我正在尝试确定一个大写姓氏的方法; 但是,不包括小写前缀.

名称及其转换的示例:

  • 麦克阿瑟 - > MacARTHUR
  • McDavid - > McDAVID
  • LeBlanc - > LeBLANC
  • 麦金太尔 - > McINTYRE
  • de Wit - > de WIT

还有一些名称包含需要完全大写的姓氏,因此识别前缀的简单函数是strchr()不够的:

  • Macmaster - > MACMASTER
  • Macintosh - > MACINTOSH

PHP函数mb_strtoupper()不合适,因为它将整个字符串大写.同样strtoupper()是不合适的,并且在重音名称上也会失去重音.

围绕SO有一些答案可以部分回答这个问题,例如:使用PHP进行资本化 然而,常见的不足是假设所有姓氏为姓名的人Mac都跟随资本.

名称在数据库中正确地大写,因此我们可以假设拼写为Macarthur的名称是正确的,或者麦克阿瑟对另一个人是正确的.

php utf-8

13
推荐指数
1
解决办法
586
查看次数

替换字符串中最后一次出现的字符

我有一个小问题,我正在努力寻找解决方案.

基本上,假设你有以下字符串:

    $string = 'Hello I am a string';
Run Code Online (Sandbox Code Playgroud)

并且你希望以下面的内容结束:

    $string = 'Hello I am a string';
Run Code Online (Sandbox Code Playgroud)

简单地说,用一个不间断的空间替换最后一个空格.

我这样做是因为我不希望标题中的最后一个字是独立的.仅仅因为在标题方面:

 Hello I am a
 string
Run Code Online (Sandbox Code Playgroud)

看起来不那么好

 Hello I am
 a string
Run Code Online (Sandbox Code Playgroud)

一个人怎么做这样的事情?

php

9
推荐指数
2
解决办法
1万
查看次数

php preg_match返回上一场比赛的位置

preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE); 
Run Code Online (Sandbox Code Playgroud)

是否可以反向搜索字符串?即.返回主题中最后一次出现的模式的位置,类似于strripos

或者我必须返回所有匹配的位置preg_match_all并使用最后一个元素$matches

php regex preg-match

9
推荐指数
1
解决办法
9891
查看次数

如何只用preg_replace替换字符串的最后一个匹配?

我必须在HTML文档中替换字符串的最后一个匹配项(例如单词foo).问题是HTML文档的结构总是随机的.

我试图用preg_replace来实现这一点,但到目前为止我知道如何只替换第一个匹配,但不是最后一个匹配.

谢谢.

php preg-replace preg-match

6
推荐指数
2
解决办法
1万
查看次数

如何使用php用“and”替换字符串中的最后一个逗号?

我正在尝试使用strrchr()and用“and”替换文本中最后一次出现的逗号str_replace()

例子:

$likes = 'Apple, Samsung, Microsoft';
$likes = str_replace(strrchr($likes, ','), ' and ', $likes);
Run Code Online (Sandbox Code Playgroud)

但这会替换整个最后一个单词(在本例中为 Microsoft),包括此字符串中的最后一个逗号。我怎样才能删除最后一个逗号并将其替换为 " 和 " ?

我需要使用strrchr()作为函数来解决这个问题。这就是为什么这个问题没有重复而且更具体的原因。

php regex string replace str-replace

5
推荐指数
2
解决办法
4383
查看次数

标签 统计

php ×5

preg-match ×2

regex ×2

preg-replace ×1

replace ×1

str-replace ×1

string ×1

utf-8 ×1