Помогите с регуляркой на php

(Ответов: 2, Просмотров: 376)
  1. Гуру Аватар для kvins
    • Регистрация: 24.08.2011
    • Сообщений: 1,110
    • Репутация: 160
    Из базы вытаскивается текст с ссылками такого вида

    <a href="[~20~]">текст</a>
    <a href="[~41~]">текст</a>
    <a href="[~62~]">текст</a>

    Как мне обработать поле с текстом, чтобы сначала вытащить все цифры с такими ссылками ~*~, найти в базе товар и заменить цифру на нужное значение, в кажждом свое
    • 0
  2. Дипломник
    • Регистрация: 29.11.2009
    • Сообщений: 131
    • Репутация: 32
    PHP код:
    preg_match_all('/~(\d+?)~/'$text$resultPREG_PATTERN_ORDER);
    $result $result[1]; 
    вернет массив со всеми цифрами между тильдами.
    Из базы как вытащить, думаю, разберетесь. Обратно заменить я бы советовал через просто str_replace ибо конкретную цифру вы уже будете знать.
    • 0
  3. Новичок
    • Регистрация: 27.01.2015
    • Сообщений: 19
    • Репутация: 5
    • Webmoney BL: ?
    Вчера на maultalk почти так же ответил:

    PHP код:
    $str '<a href="[~20~]">текст</a> 
    <a href="[~41~]">текст</a>
    <a href="[~62~]">текст</a>'
    ;

    preg_match_all("!\[~([0-9]+)~\]!i,$str,$all");
    $i=0; while($i count($all[1])){ // перебираем в цикле все найденные числа
    $chislo $all[1][$i]; 
    // $chislo - текущее число - ищите его в базе, получаете товар или что там у вас в переменной $tovat 
    $str str_replace($all[0][$i],$tovar,$str); // заменяем [~37~] на товар
    $i++;} 
    Повторюсь тут, вдруг ТС на этот форум раньше зайдет
    Последний раз редактировалось masterscript; 27.01.2015 в 13:39.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Помогите с PHP
Web программирование 5 19.08.2013 12:39
Помогите с 3.0
Joomla 4 19.02.2013 18:07
Помогите с регуляркой
Web программирование 2 11.01.2012 13:10

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

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

Информеры