我会问是否有人可以告诉我如何查找和替换所有大写字母(*注意:单词中的非首字母)并用小写字母和span标记替换它们。我举一个结果应该是
的例子StreEt-> Stre<span>e</span>t
TeAcher -> Te<span>a</span>cher
DOg -> D<span>o</span>g
SchoOl -> Scho<span>o</span>l
我更愿意直接在Notepad ++中制作。
但如果不能只用正则表达式,那么一些建议如何在php循环或javascript中制作它会很棒。
提前谢谢!
答案 0 :(得分:2)
使用Notepad ++,您可以:
找到:\B([A-Z]+)\B
替换为:<span>\L$1</span>
确保选中Case sensitive
。
但它与西里尔字母不起作用。
这是一种使用php完成工作的方法:
$str = preg_replace_callback("/\B(\p{Lu}+)\B/u",
function ($m) {
return "<span>".mb_strtolower($m[1], 'UTF-8')."</span>";
},
"SchoOl чУствую");
echo $str,"\n";
<强>输出:强>
Scho<span>o</span>l ч<span>у</span>ствую