За последние 24 часа нас посетили 18105 программистов и 1624 робота. Сейчас ищут 1300 программистов ...

подмена меняющейся строки,на другую строку

Тема в разделе "Регулярные выражения", создана пользователем jei, 14 ноя 2012.

  1. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    имеется строка вида

    Код (Text):
    1. <a class="modal" href="http://pica2/images/stories/virtuemart/product/1.jpg" title="1">
    2. <img class="browseProductImage" border="0" title="Маргарита" alt="1" src="/images/stories/virtuemart/product/resized/1_316x238.jpg">
    3. </a>
    в ней надо выдернуть ссылку при чём цифра может меняться.

    Код (Text):
    1. http://pica2/images/stories/virtuemart/product/1.jpg
    и заменить сылку на строку

    Код (Text):
    1. /index.php/ru/margarita-detail
    вот что я написал но не могу написать что типо регулярки,может другую функцию взять

    Код (Text):
    1. $asda   = $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');
    2.                            
    3.                     $asda2 = str_replace('http://pica2/images/stories/virtuemart/product/', '/index.php/ru/margarita-detail', $asda);  
    4.                         echo $asda2;
     
  2. link00

    link00 Активный пользователь

    С нами с:
    1 сен 2012
    Сообщения:
    65
    Симпатии:
    0
    Код (Text):
    1. $pos1 = strpos($asda2,'href="');
    2. $amount = strpos($asda2,'"',$pos1+6)-$pos1;
    3. $new_url = 'href="'.'/index.php/ru/margarita-detail';
    4. substr_replace($asda2, $new_url , $pos1, $amount );
    если через функции
     
  3. demyan1

    demyan1 Активный пользователь

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    Код (PHP):
    1. $asda = $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');
    2. preg_match("<a class=\"modal\" href=\"(.+?)\" title=\"1\">", $asda, $match);
    3. $ada2 = str_replace($match[1], '/index.php/ru/margarita-detail', $asda); 
     
  4. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
  5. demyan1

    demyan1 Активный пользователь

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    тогда покажи $asda, т.е.
    Код (PHP):
    1. $asda = $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');
    2. echo $asda; 
     
  6. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    наверху показал же вот ещё раз echo $asda;

    Код (Text):
    1. <a class="modal" href="http://pica2/images/stories/virtuemart/product/1.jpg" title="1">
    2. <img class="browseProductImage" border="0" title="Маргарита" alt="1" src="/images/stories/virtuemart/product/resized/1_316x238.jpg">
    3. </a>
     
  7. demyan1

    demyan1 Активный пользователь

    С нами с:
    17 май 2012
    Сообщения:
    65
    Симпатии:
    0
    всё работает, проверил только что.
    как ты и просил, получается:
    Код (Text):
    1. $asda2 = "<a class="modal" href="/index.php/ru/margarita-detail" title="1">
    2. <img class="browseProductImage" border="0" title="���������" alt="1" src="/images/stories/virtuemart/product/resized/1_316x238.jpg">
    3. </a>" 
    проблема может быть в другом...
     
  8. jei

    jei Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    542
    Симпатии:
    0
    Не понял я ты, что исходную строку меняешь?Её нельзя менять она поступает с виртуемарта в таком виде.

    счас погоди

    Добавлено спустя 23 минуты 25 секунд:
    кароче вот весь код может без магазина он пашеи а внутри магаза нет

    Код (Text):
    1. $asda   = '<a class="modal" href="http://pica2/images/stories/virtuemart/product/1.jpg" title="1">
    2. <img class="browseProductImage" border="0" title="Маргарита" alt="1" src="/images/stories/virtuemart/product/resized/1_316x238.jpg">
    3. </a>';
    4.                            
    5.  preg_match("<a class=\"modal\" href=\"(.+?)\" title=\"1\">", $asda, $match);
    6.     $ada2 = str_replace($match[1], '/index.php/ru/margarita-detail', $asda);
    7.                         echo $ada2;
    Добавлено спустя 6 минут 3 секунды:
    а вот извиняюсь не внимательно вставил ,спасибо всё работает

    Добавлено спустя 5 минут 14 секунд:
    блин теперь такая проблема со строкой то он работает а вот как начинаю подставлять виртмартовский вывод
    заместо то отказывается зацепить
    Код (Text):
    1. $asda = '<a class="modal" href="http://pica2/images/stories/virtuemart/product/1.jpg" title="1">
    2. <img class="browseProductImage" border="0" title="Маргарита" alt="1" src="/images/stories/virtuemart/product/resized/1_316x238.jpg">
    3. </a>'
    Код (Text):
    1. $asda   = $product->images[0]->displayMediaThumb('class="browseProductImage" border="0" title="'.$product->product_name.'" ',true,'class="modal"');