php. Вставить переменную в значение элемента массива

(Ответов: 9, Просмотров: 5793)
  1. Новичок
    • Регистрация: 27.10.2009
    • Сообщений: 16
    • Репутация: 16
    Подскажите, плз как правильно сделать.

    Есть массив, один из элементов которого выглядит так:

    PHP код:
    'element'    =>    <<<EOL
    <p><a href="#">Link</a></p>
    EOL 
    Нужно под анкор подложить урл текущего сайта
    т.е. вместо # вставить
    PHP код:
    "http://".$_SERVER["HTTP_HOST"
    Как правильно вставить?

    На всякий случай: значение этого элемента массива вставляется в textarea
    • 0
  2. Тех. поддержка портала
    • Регистрация: 22.10.2009
    • Сообщений: 12
    • Репутация: 10
    Перебор пробовали?
    PHP код:
    for ($array AS $element => $item)
    {
        
    // рег. выражение

    Последний раз редактировалось mad@Max; 16.03.2011 в 00:55.
    • 0
  3. Software Engineer Аватар для Zvеr
    • Регистрация: 07.02.2010
    • Сообщений: 603
    • Репутация: 228
    • Webmoney BL: ?
    mad@Max с каких это пор у оператора for синтаксис похожий на оператор foreach? :)
    Slumlord а строковые функции не пробовал использовать типа str_replace? Т.е. пробегаем по массиву заменяя символ "#" на значение "http://".$_SERVER["HTTP_HOST"]. Да и, почему бы просто ссылку не хранить в кавычках, вместо использования heredoc-определения.
    • 0
  4. Новичок
    • Регистрация: 27.10.2009
    • Сообщений: 16
    • Репутация: 16
    mad@Max, не подходит (или я не понимаю о чем речь).

    В исходном массиве много всяких элементов => значений (разных типов)
    PHP код:
    $options = array(
        
    'title_on_404_page' => __('Tag Cloud'),
        
    'show_404_page' => 0,
        
    'tags'    => 'a, abbr, h1, h2, h3, h4, h5, h6, object, param, embed',
    ...
        
    'content' =>   <<<EOL
    <p><a href="#">Link</a></p>
    EOL 
    ); 
    Мне нужно лишь в одно значение одного элемента (текст) вставить переменную.
    Последний раз редактировалось Slumlord; 16.03.2011 в 01:17.
    • 0
  5. Дипломник Аватар для Markus
    • Регистрация: 15.12.2009
    • Сообщений: 130
    • Репутация: 37
    PHP код:
    <?php
    $a
    [1]  =   <<<EOL
    <p><a href="#">Link</a></p>
    EOL;
    foreach(
    $a as $k => $v){
    if(
    strstr($v'#') == true) {  echo $a[$k] = str_replace('#','http://'.$_SERVER['HTTP_HOST'], $v); }
    }

    ?>
    ps если имена элементов массива не меняются. То $options['content'] = str_replace('#','http://'.$_SERVER['HTTP_HOST'], $options['content'])
    Последний раз редактировалось Markus; 16.03.2011 в 01:34.
    • 0

    Спасибо сказали:

    Slumlord(16.03.2011),
  6. Software Engineer Аватар для Zvеr
    • Регистрация: 07.02.2010
    • Сообщений: 603
    • Репутация: 228
    • Webmoney BL: ?
    PHP код:
    $options['content'] = str_replace("<a href=\"#\">""<a href=\"http://".$_SERVER["HTTP_HOST"]."\">"$options['content']); 
    Может так прокатит

    Опередили меня...
    • 0

    Спасибо сказали:

    Slumlord(16.03.2011),
  7. Новичок
    • Регистрация: 27.10.2009
    • Сообщений: 16
    • Репутация: 16
    Цитата Сообщение от Zvеr Посмотреть сообщение
    Т.е. пробегаем по массиву заменяя символ "#" на значение "http://".$_SERVER["HTTP_HOST"]
    Хм... мб это и вариант, но ща не соображу как это возможно сделать. Да и не хотелось бы прибегать к таким костылям - просто бы вставить в значение элемента массива урл сайта.
    Цитата Сообщение от Zvеr Посмотреть сообщение
    Да и, почему бы просто ссылку не хранить в кавычках, вместо использования heredoc-определения.
    Я, откровенно говоря не понимаю что такое "heredoc-определения" (подозреваю это EOL), и не знаю вообще зачем сделано так, можно ли и как изменить на нужное мне. Потому собсно и спрашиваю..
    Я пхп знаю можно сказать поверхностно.

    ---------- Сообщение добавлено 22:34 ---------- Предыдущее 22:26 ----------

    Цитата Сообщение от Zvеr Посмотреть сообщение
    Может так прокатит
    ага, это понятно

    но всё же можно ли прямо в значение элемента массива вставить
    Типа так можно?
    PHP код:
    'content' =>   '<p><a href="http://"'.$_SERVER["HTTP_HOST"].'">Link</a></p>' 
    Афигеть! В гугле по запросу "heredoc-определения" этот топик на втором месте. И это через несколько минут как Zvеr его тут написал :)) Супериндексация.
    Последний раз редактировалось Slumlord; 16.03.2011 в 01:41.
    • 0
  8. Software Engineer Аватар для Zvеr
    • Регистрация: 07.02.2010
    • Сообщений: 603
    • Репутация: 228
    • Webmoney BL: ?
    но всё же можно ли прямо в значение элемента массива вставить
    Типа так можно?
    Можно и так.
    На счет индексации... сам в шоке :)
    • 0
  9. Я из admitad :) Аватар для terehoff
    • Регистрация: 15.07.2009
    • Сообщений: 2,605
    • Записей в дневнике: 18
    • Репутация: 1150
    • Webmoney BL: ?
    Индексация за счет привязки к RSS - нормальное явление.
    Zver +1
    Рассказываю, как зарабатывать в admitad, skype terehoff62
    Мой блог
    • 0
  10. Тех. поддержка портала
    • Регистрация: 22.10.2009
    • Сообщений: 12
    • Репутация: 10
    Zvеr, перепутал оператор, сори, конечно foreach))))
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Использование социальных закладок в качестве маркетингового элемента
Дайджест блогосферы 6 24.12.2010 17:54
Favicon и её значение для проекта.
Дайджест блогосферы 1 17.03.2010 00:41
Начальное значение PR страницы
Google 27 25.12.2009 11:55
как вставить баннер в блоггер
Вопросы от новичков 7 09.09.2009 15:33

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры