|
|
|
| Я обрабатываю теги [img][/img регулярным выражением, внутри которых хранится id файла!
Т.е.
[img]10[/img]
Мне необходимо вырезать id и найти используя этот id, название файла в БД!
Как мне ето осуществить, пытался таким способом но ничо не получилось:
$text = preg_replace("#\[img\](.+)\[\/img\]#isU",'<center><img src="files/'.mysql_result(mysql_query("select filename from w_files where id_file=\\1"),0).'"></center>',$text);
|
Заранее благодарен | |
|
|
|
|
|
|
|
для: cernos
(13.02.2006 в 23:35)
| |
<?php
//Вот таким образом я получил id файла из тега
$text = "[img]10[/img]";
ereg("\[img\]([0-9]*)\[/img\]", $text, $regs);
echo $regs[1];//Вот это и есть id
?>
|
Ну а Вы чего-то намудрили, не надо все пихать в одну строчку, можно легко запутаться. | |
|
|
|
|
|
|
|
для: PantiL
(13.02.2006 в 23:47)
| | Дело в том что мне необходимо не просто вытащить id а заменять го на лету, т.е.
заменять тег [img10[/img] на
тег <img src="тут вытащенный адрес из БД">
Помогите плиз... | |
|
|
|
|
|
|
|
для: cernos
(15.02.2006 в 10:19)
| | Ну а зачем вам такие извращения?
Получили мы id - см. пример выше. Ну а потом втавьте его в запрос к базе данных. А результат полученный из базы вставьте в ту строку которую хотите получить.
Ну получится в несколько строк, ну и что - зато код будит более читаем | |
|
|
|
|
|
|
|
для: cernos
(15.02.2006 в 10:19)
| | Для этого обычно испльзуют функцию обратного вызова
<?php
$pattern = "#\[img\](.+)\[\/img\]#isU";
$text = preg_replace($pattern,"insert_image",$text);
// функция обратного вызова
function insert_image($matches)
{
$query = "select filename from w_files where id_file=$matches[1]";
$img = mysql_query($query);
if(!$img) exit(mysql_error());
$value = mysql_result($img,0);
return '<center><img src="files/'.$value.'"></center>';
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.02.2006 в 13:42)
| | Спасибо! | |
|
|
|