我在我的网站上有以下代码。它用于在一个没有http://或/前面的html块中查找图像。如果是这种情况,它会将网址添加到图片源的前面。PHP和正则表达式:将网站网址添加到图像
例如:
<img src="http://domain.com/image.jpg"> will stay the same
<img src="/image.jpg"> will stay the same
<img src="image.jpg"> will be changed to <img src="http://domain.com/image.jpg">
我觉得我的代码确实是低效的...我如何可以把它用更少的代码运行的任何想法?
preg_match_all('/<img[\s]+[^>]*src\s*=\s*[\"\']?([^\'\" >]+)[\'\" >]/i', $content_text, $matches);
if (isset($matches[1])) {
foreach($matches[1] AS $link) {
if (!preg_match("/^(https?|ftp)\:\/\//sie", $link) && !preg_match("/^\//sie", $link)) {
$full_link = get_option('siteurl') . '/' . $link;
$content_text = str_replace($link, $full_link, $content_text);
}
}
}
哦男人。我从来不知道这个标签。感谢您发布对它的引用。 – 2009-11-30 08:22:29