Php 更换IMG标签
我不太擅长这个正则表达式字符串替换,但我认为这个问题可以用它来解决 我想替换这个:Php 更换IMG标签,php,regex,Php,Regex,我不太擅长这个正则表达式字符串替换,但我认为这个问题可以用它来解决 我想替换这个: <a href="http://www.example.com"> <img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></a> 为此: <p
<a href="http://www.example.com">
<img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></a>
为此:
<p style="text-align:center;"><a href="http://www.example.com">
<img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></a></p>
<p style="text-align:center;">
<img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></p>
而这(如果没有给出链接):
为此:
<p style="text-align:center;"><a href="http://www.example.com">
<img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></a></p>
<p style="text-align:center;">
<img alt="" class="aligncenter size-full wp-image-112" height="300" src="http://www.example.comsample1.png" title="sample1" width="300" /></p>
我怎样才能做到这一点?(搜索关键字为'class=“aligncenter',如果IMG标记中存在此项,则我需要替换)
可能有许多IMG或标签需要更换,而不仅仅是一个
非常感谢!!!您可能需要两个regexp,一个用于img(确保没有
,您需要负前瞻断言,因此它将如下所示:
$text = preg_replace( '~<img alt="" class="aligncenter size-full wp-image-112"([^<>]+)/>\s*(?!</a)~mi', '<p style="text-align:center;">\0</p>', $text);
您可能需要两个regexp,一个用于img(确保没有,您需要负前瞻断言,因此它将如下所示:
$text = preg_replace( '~<img alt="" class="aligncenter size-full wp-image-112"([^<>]+)/>\s*(?!</a)~mi', '<p style="text-align:center;">\0</p>', $text);
如果你不擅长某项技术,你不应该在没有考虑到更简单选项的情况下选择它。请参阅一些相关链接。如果你不擅长某项技术,你不应该在没有考虑到更简单选项的情况下选择它。请参阅一些相关链接。非常感谢你的帮助!:)如果我只想要“类=”aligncenter’在比赛中,我需要更改什么?(其余的可能会有所不同)@vorian尝试玩一会儿,这样你就会习惯了:)但基本上你只需要将“aligncenter size full wp-image-112”
替换为“[^”]*aligncenter[^”]*
。(当你不需要更多的帮助时,把这个答案标记为答案)我会试试的!谢谢Vyktor!;)非常感谢您的帮助!:)如果我只想在比赛中使用'class=“aligncenter”,我需要更改什么?(其余的可能会有所不同)@vorian尝试使用它一段时间,这样你就会习惯了:)但基本上你只需要将“aligncenter size full wp-image-112”
替换为“[^”]*aligncenter[^”]*
。(当您不需要更多帮助时,请将此答案标记为答案)我会尝试!谢谢Vyktor!;)