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>

然后,下面画出来

在此处输入图像描述

请注意,我插入了三个<img>,其中两个是一行中唯一的元素,另一个在文本旁边(fdffd.. + img)。

我不知道如何解决这个问题,但我想当 a<img>不是一行中唯一的元素时,插入一个名为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 回答