大写每个单词的第一个字母URL除外

问题描述

| 有人可以告诉我如何执行此操作:
Input:

hello http://DOMAIN.com/asdakdjk.php?asd=231&adsj=23 u.s. nicely done!

Result:

Hello http://DOMAIN.com/asdakdjk.php?asd=231&adsj=23 U.S. Nicely Done!
如果可能的话,请在单词中用“。”分隔,例如在美国 谢谢     

解决方法

        尝试这个:
<?php

function capitalizeNonURLs($input)
{
    preg_match(\'@(https?://([-\\w\\.]+)+(:\\d+)?(/([\\w/_\\.]*(\\?\\S+)?)?)?)@\',$input,$matches);
    $url = $matches[1];

    $temp = ucwords($input);
    $output = str_ireplace($url,$url,$temp);

    return $output;
}

$str = \"hello http://domain.com/asdakdjk.php?asd=231&adsj=23 u.s. nicely done!\";
echo capitalizeNonURLs($str);
请记住,此功能不处理缩写(不会将usa更改为USA)。国家代码可以用几种不同的方式处理。一种是制作国家/地区代码的哈希图并替换它们,或者也使用正则表达式。     ,        保持较低的网址:
$strarray = explode(\' \',$str);
for($i=0;$i<count($strarray))
{
if(substr($strarray[$i],4)!=\'http\')
{
    $strarray[$i] = ucfirst($strarray[$i])
}
}

$new_str = implode(\'\',$strarray);
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...