我从php.net获得此函数,转换大写在句子中变为小写。
function sentence_case($string) {
$sentences = preg_split('/([.?!]+)/', $string, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
$new_string = '';
foreach ($sentences as $key => $sentence) {
$new_string .= ($key & 1) == 0?
ucfirst(strtolower(trim($sentence))) :
$sentence.' ';
}
return trim($new_string);
}
如果句子不在段落中,一切运作良好。但如果句子在段落中,则开头段落(<p>
)或中断(<br>
)标记HTML中的第一个字母变为小写。
这是样本:
之前:
<p>Lorem IPSUM is simply dummy text. LOREM ipsum is simply dummy text! wHAt is LOREM IPSUM? Hello lorem ipSUM!</p>
输出:
<p>lorem ipsum is simply dummy text. Lorem ipsum is simply dummy text! What is lorem ipsum? Hello lorem ipsum!</p>
有人可以帮我把段落中的第一个字母变成大写字母吗?
由于
答案 0 :(得分:0)
您可以轻松地使用CSS
p::first-letter {
text-transform: uppercase;
}
答案 1 :(得分:0)
你的问题是你在句子中考虑HTML,所以第一个&#34; word&#34;该句子是<P>lorem
,而不是Lorem
。
您可以将正则表达式更改为/([>.?!]+)/
,但这样您就可以在&#34; Lorem&#34;之前看到额外空格。因为系统现在看到两个句子,而不是一个。
此外,现在Hello <em>there</em>
将被视为四个句子。
这看起来令人不安地像&#34;如何使用正则表达式来解释(X)HTML&#34;?
答案 2 :(得分:0)
试试这个
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
while event.type == pygame.KEYDOWN:
right == K_RIGHT
left == K_LEFT
if right == 1
posX += velocidad
elif lef == 1:
posX -= velocidad
并调用此函数
function html_ucfirst($s) {
return preg_replace_callback('#^((<(.+?)>)*)(.*?)$#', function ($c) {
return $c[1].ucfirst(array_pop($c));
}, $s);
}
这是工作演示:https://ideone.com/fNq3Vo
答案 3 :(得分:-1)
在HTML中
p.case {
text-transform: capitalize;
}
&#13;
<p class="case">This is some text and usre.</p>
&#13;