Из базы вытаскивается текст с ссылками такого вида
<a href="[~20~]">текст</a>
<a href="[~41~]">текст</a>
<a href="[~62~]">текст</a>
Как мне обработать поле с текстом, чтобы сначала вытащить все цифры с такими ссылками ~*~, найти в базе товар и заменить цифру на нужное значение, в кажждом свое
- 26.01.2015 19:23
- 27.01.2015 00:44
- Регистрация: 29.11.2009
- Сообщений: 131
- Репутация: 32
PHP код:вернет массив со всеми цифрами между тильдами.preg_match_all('/~(\d+?)~/', $text, $result, PREG_PATTERN_ORDER);
$result = $result[1];
Из базы как вытащить, думаю, разберетесь. Обратно заменить я бы советовал через просто str_replace ибо конкретную цифру вы уже будете знать. - 27.01.2015 13:35
Вчера на 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.
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Помогите с PHP | Web программирование | 5 | 19.08.2013 12:39 |
Помогите с 3.0 | Joomla | 4 | 19.02.2013 18:07 |
Помогите с регуляркой | Web программирование | 2 | 11.01.2012 13:10 |