|
|
|
| Вообщем необходимо, чтобы в базе хранились описания с различными вариантами некотороых слов.
Проще всего это объяснить на примере того, как составляются описания сайтов для каталогов.
Музыкальный сайт - [наш музыкальный сайт - | этот сайт | вот он,] лучший сайт во всем рунете.
|
Т.е. потом в каждом из каталогов на автомате выбирается одна из фраз (наш музыкальный сайт - | этот сайт | вот он) и вставляется.
Вот собственно вопрос - как это реализовать? Т.е. в БД можно все записывать в одно поле, скажем description и потом просто при помощи php его как то обрабатывать? (если да, то как - подскажите). Или же нужно как-то по особому БД составлять? | |
|
|
|
|
|
|
|
для: Dizels
(02.06.2008 в 13:55)
| |
<?
$str = 'Музыкальный сайт - [наш музыкальный сайт - | этот сайт | вот он, | классный и ] лучший сайт во всем рунете.';
preg_match('|\[([^\]]+)\]|si', $str, $matchs);
$variants = explode('|', $matchs[1]);
$key = array_rand($variants, 1);
echo preg_replace('|\[([^\]]+)\]|si', $variants[$key], $str);
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(02.06.2008 в 14:21)
| | Большое спасибо.
Теперь еще один, скорее уже более теоретический вопрос.
Вот я скажем выбрал то, что мне нужно, как лучше сохранить этот параметр?
Т.е. к примеру из вышеописанного выбрал "наш музыкальный сайт" - и вот мне надо, чтобы именно на данной странице постоянно выводилось словосочетание "наш музыкальный сайт". Т.е. как лучше сделать "запоминание выбора"? | |
|
|
|
|
|
|
|
для: Dizels
(04.06.2008 в 11:42)
| | Насколько я понял нужно просто занести результат в переменную:
<?
$str = 'Музыкальный сайт - [наш музыкальный сайт - | этот сайт | вот он, | классный и ] лучший сайт во всем рунете.';
preg_match('|\[([^\]]+)\]|si', $str, $matchs);
$variants = explode('|', $matchs[1]);
$key = array_rand($variants, 1);
// Занесли в переменную
$foo = $variants[$key];
// Занесли в переменную
$result = preg_replace('|\[([^\]]+)\]|si', $foo, $str);
echo $foo, '<br />', $result;
?>
|
| |
|
|
|