我有PHP变量保持字符串,我有混合内容有链接和其他包含图像链接,如下所示
$baseurl = "http://www.myweb.com/home/";
$content = "<a href="#"><img src="images/comment.gif" alt="Comment" /></a></p>
<div class="thirds"> <p><b><a href="admin/local.html" class="title">Manage your content</a></b><br /><img src ="subfolder/home.jpg" alt="home" />Lorem ipsum dolor sit amet esta pa, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt....";
我的目标是回显变量'content',其所有带有标签的链接,src标签,修改为绝对意义,因为包含的第一个$ content链接必须是<a href="http://www.myweb.com/home/#"
这应该对所有图像都相同<img src="images/comment.gif
的示例应为<img src="http://www.myweb.com/home/images/comment.gif alt="Comment" />
..请注意,请注意,所有内容都包含在php字符串变量中。
答案 0 :(得分:0)
您可以将$baseurl
添加到src之前。
也可以在字符串中更改“to'以便使用”。或者如果你使用heredoc会更好。
$baseurl = "http://www.myweb.com/home/";
$content = '<a href="'. $baseurl . '#"><img src="'. $baseurl . 'images/comment.gif" alt="Comment" /></a></p>
<div class="thirds"> <p><b><a href="admin/local.html" class="title">Manage your content</a></b><br /><img src ="'. $baseurl . 'subfolder/home.jpg" alt="home" />Lorem ipsum dolor sit amet esta pa, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt....';
答案 1 :(得分:0)
尝试这个(快速和肮脏的方式,但可能比regexp更快):
str_replace("href=\"", "href=\"".$baseurl, $content);
str_replace("href=\'", "href=\'".$baseurl, $content);
str_replace("src=\"", "src=\"".$baseurl, $content);
str_replace("src=\'", "src=\'".$baseurl, $content);
答案 2 :(得分:0)
您有两种方式:
服务器端,通过php,用正则表达式替换字符串(我不知道)。
浏览器方面,通过jquery:
var baseurl = "http://www.myweb.com/home/";
$("#container [src]").prop("src",function(index,oldValue){
return baseurl+oldValue;
});
$("#container [href]").prop("href",function(index,oldValue){
return baseurl+oldValue;
});
将更多属性放入数组并在for循环中执行它们很容易。
“container”是包含您的内容的dom元素的id。就像这样:
<div id="container">
<a href="#"><img src="images/comment.gif" alt="Comment" /></a></p>
<div class="thirds"> <p><b><a href="admin/local.html" class="title">Manage your content</a></b><br /><img src ="subfolder/home.jpg" alt="home" />Lorem ipsum dolor s...
</div>