4

PHPにテキスト文字列があります:

<strong> MOST </strong> of you may have a habit of wearing socks while sleeping. 
<strong> Wear socks while sleeping to prevent cracking feet</strong>
<strong> Socks helps to relieve sweaty feet</strong>

ご覧のとおり、最初の強力なタグは

<strong> MOST </strong>

最初の強力なタグを削除し、その中の単語を ucwords (最初の文字を大文字) にします。このような結果

Most of you may have a habit of wearing socks while sleeping. 
<strong> Wear socks while sleeping to prevent cracking feet</strong>
<strong> Socks helps to relieve sweaty feet</strong>

爆発機能を試してみましたが、私が望むものとは思えません。これが私のコードです

<?php
$text = "<strong>MOST</strong> of you may have a habit of wearing socks while sleeping. <strong> Wear socks while sleeping to prevent cracking feet</strong>. <strong> Socks helps to relieve sweaty feet</strong>";
$context = explode('</strong>',$text);
$context = ucwords(str_replace('<strong>','',strtolower($context[0]))).$context[1];
echo $context;
?>

私のコードのみの結果

Most of you may have a habit of wearing socks while sleeping. <strong> Wear socks while sleeping to prevent cracking feet
4

5 に答える 5

6

のオプションのlimit引数を使用して、コードを修正できますexplode

$context = explode("</strong>",$text,2);

ただし、次のようにする方がよいでしょう。

$context = preg_replace_callback("(<strong>(.*?)</strong>)",function($a) {return ucfirst($a[1]);},$text);
于 2013-02-02T04:56:27.713 に答える
3

PHP での解決策を求められたことは知っていますが、CSS の解決策を示しても問題はないと思います。

HTML

<p><strong>Most</strong> of you may have a habit of wearing socks while sleeping.</p>

CSS

p strong:first-child {
    font-weight: normal;
    text-transform: uppercase;
}

PHP を使用する特別な理由がない限り、PHP は簡単であるべきことを単純に複雑にしているだけだと思います。CSS を使用すると、サーバーの負荷が軽減され、スタイリングはあるべき場所に残されます。

更新: これはフィドルです。

于 2013-02-02T04:58:17.347 に答える
0

これはpreg_replace_callbackを提供します。

$s = '<strong> MOST </strong> of you may have a habit of wearing socks while sleeping.
      <strong> Wear socks while sleeping to prevent cracking feet</strong>
      <strong> Socks helps to relieve sweaty feet</strong>';
$s = preg_replace_callback('~<strong>(.*?)</strong>~i', function($m){
    return ucfirst(strtolower(trim($m[1])));
}, $s, 1);
print $s;

外;

Most of you may have a habit of wearing socks while sleeping.
<strong> Wear socks while sleeping to prevent cracking feet</strong>
<strong> Socks helps to relieve sweaty feet</strong>
于 2013-02-02T05:13:17.620 に答える
0

これは理にかなっています:

preg_replace("<strong>(.*?)</strong>", "$1", 1)
于 2013-02-02T04:57:25.577 に答える