0

次のコードをご覧ください。

<p>
<img src="http://jdjd" alt="" /><br />
Hola mama<br />
fdffdfdfdfd <img src="http://jdjd" alt="" /><br />
<img src="http://jdjd" alt="" /><br />
<span>Hola</span>
</p>

次に、次のように描きます

ここに画像の説明を入力してください

3つ挿入したことに注意してください。その<img>うちの2つは行の唯一の要素であり、もう1つはテキストの横にあります(fdffd .. + img)。

この問題を解決する方法はわかりませんが<img>、行の要素がaだけではない場合は、。というクラスを挿入しcenterます。したがって、結果は次のようになります。

<p>
<img class="center" src="http://jdjd" alt="" /><br />
Hola mama<br />
fdffdfdfdfd <img src="http://jdjd" alt="" /><br />
<img class="center" src="http://jdjd" alt="" /><br />
<span>Hola</span>
</p>

これは正規表現を使用して解決できると思いますが、使用方法がわかりません。

4

1 に答える 1

0

正規表現を使用します。

(</?(?:p|br|span)(?: */)?>\s*<img )([^>]*>\s*</?(?:p|br|span)(?: */)?>)

置換文字列を使用:

"$1class='center' $2"

説明:

(                                 (Begin Group 1)
    </?(?:p|br|span)(?: */)?>     Find an opening or closing p, br or span tag
    \s*<img[ ]                    Followed by the start of a img tag
)                                 (End Group 1)
(                                 (Begin Group 2)
    [^>]*>                        Followed by the rest of the img tag
    \s*</?(?:p|br|span)(?: */)?>  Followed by an opening or closing p, br or span tag
)                                 (End Group 2)
于 2013-01-21T18:44:47.963 に答える