заменить путь к изображению по умолчанию на пользовательский путь к изображению

#php #drupal #drupal-6 #drupal-modules #drupal-theming

#php #drupal #drupal-6 #drupal-модули #drupal-тематизация

Вопрос:

Все, что я действительно хочу сделать, это заменить путь Google на мой.

//код из модуля

 $today = amp;$handler->current_conditions;
$condition = (string) $today->condition->attributes()->data;

$unit = google_weather_get_unit($convert_to);

$icon_src = (string) $today->icon->attributes()->data;
$content['current'] = array(
    'temp' => $convert_to == 'SI' ? (string) $today->temp_c->attributes()->data . $unit : (string) $today->temp_f->attributes()->data . $unit,
    'humidity' => (string) $today->humidity->attributes()->data,
    'icon' => theme('image', 'http://www.google.com' . $icon_src, $condition, $condition, NULL, FALSE),
    'condition' => $condition,
    'wind_condition' => (string) $today->wind_condition->attributes()->data,
    'custompath'=> $icon_src,
);
  

//код из tpl.php

 <div class="weather-icon float-left">
   // <?php print $content['current']['icon']; ?>
     <?php print $base_url; ?>
     <?php print $content['current']['custompath']; ?>
</div>
  

Ответ №1:

разве вы не можете просто использовать str_replace? Например, если теперь написано http://www.google.com/images/icon.png и вам нужно http://www.myhost.com/images/icon.png:

 <?php print str_replace("www.google.com", "www.myhost.com", $content['current']['icon']); ?>
  

Комментарии:

1. str_replace звучит круто, но их путь отличается от моего .. скажем, их /weather / ig / images, а мой — это что-то совсем другое? это то, что мне действительно нужно сделать .. спасибо

2. Вы можете использовать его с совершенно другими путями, если хотите: str_replace("http://www.google.com/weather/ig/images/", "http://www.mysite.com/another/structure/images/", $content['current']['icon']); таким образом, вы можете изменить не только домен, вы также можете изменить всю структуру каталогов, они не обязательно должны совпадать. Он просто выполняет поиск первой строки и заменяет ее второй заданной. Взгляните на php.net/manual/en/function.str-replace.php