尝试自动将所有图像标记包装在当前使用CKEditor管理的字段中。真的很想用PHP来处理它。
所以这将是一个字段随机内容的一个例子:
<p>
Intro text here<br />
<img alt="sample desc" src="/images/example1.jpg" />
Long article text here...
<img alt="sample desc" src="/images/example2.jpg" />
Short article text here...
<img alt="sample desc" src="/images/example3.jpg" />
</p>
我需要将上面的代码更改为此内容,使用唯一ID包含每个图像标记的链接,href匹配img的源代码和标题匹配替代文字:
<p>
Intro text here<br />
<a id="image1" href="/images/example1.jpg" title="sample desc">
<img alt="sample desc" src="/images/example1.jpg" />
</a>
Long article text here...
<a id="image2" href="/images/example2.jpg" title="sample desc">
<img alt="sample desc" src="/images/example2.jpg" />
</a>
Short article text here...
<a id="image3" href="/images/example3.jpg" title="sample desc">
<img alt="sample desc" src="/images/example3.jpg" />
</a>
</p>
感谢您提供的任何帮助!
答案 0 :(得分:2)
如果它是来自外部来源的任意HTML,那么它最简单,例如querypath
$html = htmlqp($html);
foreach ($html->find("img") as $img) {
$img->wrap("<a href='{$img->attr('src')}'></a>");
}
print $html->top("p")->html();
您可能希望在循环中同样注入id=
和title=
,但这就是它。
答案 1 :(得分:0)
给p..lets说一个id,告诉main_p以便选择它。或者你可以选择任何其他选择器..
$(document).ready(function() {
var i=1;
$("#main_p img").each(function(){
$(this).wrap('<a id=image'+i+++' href='+$(this).attr("src")+' title="sample desc"/>');
})
});
这将成为你所写的第二个代码。