0

在源代码中,我有这样的地址/images/image.jpg js/file.js,如何添加到该地址的服务器地址将 很难,因为每个文件夹名称都不同http://server.com/folder/file.jpgstr_replace()

4

2 回答 2

1

这是使用 preg 的解决方案:

$content = '
  <script type="text/javascript" src="/js/script.js"></script>
  blah blah <a href="/images/image1.jpg">image1</a>
  blah blah <a href="/images/image2.jpg">image2</a>
  blah blah <a href="/folder/link1.htm">link1
';

$search = array('#"(/)images/#mi', '#"(/)folder/#mi', '#\"(/)js/#mi');
$replace = "http://site.com$1";

$content = preg_replace($search, $replace, $content);
于 2012-09-20T18:23:29.130 回答
0

为您的服务器地址声明一个全局变量,将所有文件夹名称存储到一个数组中,并使用循环遍历它,然后连接字符串。示例:在此处查看实际操作

  $server_addr = "http://server.com";   
  //considering $replace and $folder_names have 1:1 correspondence of search and replace values 
 $orig = array("/images/image.jpg", "js/file.js"); //and so on...
 $replace = array("images", "js"); //and so on...
 $folder_names = array('folder'); //and so on...

 for( $i=0; $i<=count($replace); $i++) {
  foreach ($orig as $o)
   $new_path[] = $server_addr . str_replace($replace[$i], $folder_names[$i], $o);
}
于 2012-09-20T15:26:03.703 回答