Войти

Показать полную графическую версию : форум на php


gurWin
10-06-2002, 08:22
Хочу сделать форум на php. при добавлении сообщения, скрипт убивает все тэги, как сделать BOLD, ITALIC и IMG я разобрался, а вот как сделать ссылку (на подобие {url} в этом форуме, не знаю.
Помогите.

ivank
10-06-2002, 09:54
gurWin
Мой тееб совет: возьми готовый. На PHP (работающий на файлах, без базы), например, есть eboard (http://www.edge-programming.com/eboard/)...

А если уж хотца самому всё делать, то читай о регулярных выражениях, например для тэга url= /url, оно будет выглядеть так:
$post = preg_replace( '/\[url\=(.*?)\](.*?)\[\/url\]/i'
                     '<a href="\\1">\\2</a>', $post );

За большей инфой о регах, можешь сходить, например, сюда: http://www.providers.ru/articles/php/regexp-intro.html

gurWin
10-06-2002, 15:53
Спасибо!

gurWin
13-06-2002, 17:33
Еще влпрос.
Есть файл config.php, со следующим содержанием:
<?
$title="Мой форум"
$background="#cccccc"
......
?>
Хочу сделать страничку, в которой можно менять эти переменные, и надо, что бы после изменения они записывались в этот (config.php) файл.
Как это реализовать?
$fp=fopen("config.php", w);
.... а дальше?

ivank
13-06-2002, 21:24
gurWin
// $paramtitle это требуемый параметр может быть
bgcolor, или ещё что...
$paramname = 'forumtitle';
// $value -- это какое в нём должно быть значение.
$value = addslashes( $value );


// Теперь зачитываем содержимое файла.
$fp = fopen( $file, 'r' );
$configuration = fread( $fp, filesize( $file ) );
fclose( $fp );


// а вот собсно и главная часть:
$configuartion = preg_replace( '/$'.$paramname.'\s*=\s*"(.*?)"\s*;',
                              '$'.$paramname.'="'.$newvalue.'";'
                              $configuration);

// Записываем всё в файлю
$fp = fpen( $file, 'w' );
fwrite( $fp, $configusrtaion );
fclose( $fp );Это,р азумеется, только пример. Работоспособность тоже не гарантируется :)

gurWin
18-06-2002, 22:16
А так не проще будет????

...
<td>Название форума</td>
<td colspan="2">
<input type="text" name="a51" value="<?echo$a1?>" size="20"></td>
........
$file = "config.php";
$a100=@fopen("$file","w")or die("Не могу открыть файл");
fwrite($a100,"<?\n");
fwrite($a100,"\$a1=\"$a51\";\n");
.....
fwrite($a100,"?>");
fclose($a100);
?>

??????

ivank
18-06-2002, 22:46
gurWin
Нет, мы не ищем лёгких путей :rotate: Преимущество моего варианта в том, что кроме самой переменной ничего в файле не меняется, т.е. все комментарии/особенности форматирования остаются не тронутыми. А вообще, если тебе кажется твой способ удобнее, то используй его...

gurWin
19-06-2002, 09:38
Просто с твоим способом, я так и не разобрался:o




© OSzone.net 2001-2012