发布网友 发布时间:2022-04-26 02:23
共3个回答
热心网友 时间:2022-04-07 07:21
.....又这问题.....
我正则表达式不是很好,所以我实现的方法稍微有点笨哈,但是能达到效果。。
<?php
$a[0]="bag";
$a[1]="##bug";
$a[2]="big";
$a[3]="##dog";
$a[4]="dick";
$a[5]="suck";
foreach($a as $k=>$v)
{
preg_match_all("/[a-zA-Z]/",$v,$arr);
$l = ucfirst($arr[0][0]);
$a[$k]=str_replace($arr[0][0],$l,$v);
echo $a[$k]."<br/>";
}
?>
原理就是在字符串里面查找字母,并把匹配上的第一个字母改成大写,再修改源字符串就好了.
-----------------------------------
是有这个问题哈,稍等。
echo preg_replace("/([^a-z])*(.*)/u","$1",$v).ucfirst(preg_replace("/([^a-z])*([a-z]){1}(.*)/u","$2$3",$v))."<br>";
- - 不得不说楼上的方法很好,我也只能用这个了- -
唉@@
热心网友 时间:2022-04-07 08:39
<?php
$a[0]="<li>33bug444</li>bugd";
$a[1]="bug";
$a[2]="big";
$a[3]="bug";
$a[4]="<li>bug</li>bug";
$len=count($a);
for($i=0;$i<$len;$i++){
$a[$i]=preg_replace("/(<li>.*)(bug)(.*<\/li>)/","\\1PHP\\3",$a[$i]);
}
print_r($a);
?>
uselogest你好 刚才的只让<li></li>中的bug替换成PHP 用正则是这样写 刚才写的不好 这个就能达到你的要求了 嘿嘿
热心网友 时间:2022-04-07 10:14
$a[0]="3bag";
$a[1]="##bug";
$a[2]="big";
$a[3]="##dog";
$a[4]="dick";
$a[5]="suck";
foreach($a as $aa)
{
echo preg_replace("/([^a-z])*(.*)/u","$1",$aa).ucfirst(preg_replace("/([^a-z])*([a-z]){1}(.*)/u","$2$3",$aa))."<br>";
}