---
title: "Maltes forum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/167681-maltes-forum"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Elisabeth 58"
published: "2007-12-31T00:20:27.000Z"
updated: "2008-01-12T22:46:47.000Z"
replies: 9
views: 743
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/167681-maltes-forum"
---

# Maltes forum

## #1 — Elisabeth 58, 2007-12-31T00:20Z

Hej allihop. Jag är urdålig på sånt här, dvs hur man skriver i forum och trådar och sökfunktion osv. Men här kommer frågan i alla fall. Malte skapade ett superbra forum som jag använder mej av. Ex här, Maltes alltså:
<http://www.a-kok.com/php/forum.php>

Men jag undrar hur man gör för att kunna lägga in en direktlänk som öppnas i nytt fönster -när man gör ett inlägg. Är dålig på php, och har ej fått till det. Ingen av de jag frågat tidigare heller. 
Sen undrar jag också hur man får bort \<br /\> markeringen som kommer med i mejlen (utskick efter varje nytt inlägg i forumet)
Någon som fått till det hela? (Hela forumet finns att ladda ner på ovan angivna adress.)

mvh Elisabeth

Permalänk: https://www.webforum.nu/p/167681

## #2 — überfuzz, 2007-12-31T00:28Z

Hmm, jag tycker att det är ganska svårt att förstå vad det är som sätter käppar i hjulet för dig. Det forum du länkade till verkar fungera bra.

Permalänk: https://www.webforum.nu/p/2067042

## #3 — Elisabeth 58, 2007-12-31T00:37Z

Japp, det är ju Maltes forum. Jag laddade själv ner det och la ut på min domän. Det fungerar hur bra som helst, men jag saknar alltså funktionen att kunna skriva ut en webadress i ett inlägg, som ska öppnas upp i ett nytt fönster när man klickar på den. Likaså att emailutskicket man får hem i mejlboxen efter nytt foruminlägg har med en massa \<br /\> krumelurer i texten (vilket alltså inte syns direkt i forumet online)

Permalänk: https://www.webforum.nu/p/2067045

## #4 — jwradhe, 2008-01-02T11:18Z

Ja använder mig av detta

funktionen:

```php
function linkURL($web)
{
		$web = preg_replace("/(?<=^|\s)(www\.([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/", "http://$1", $web);		 
		$search = "/(?<=^|\s)(http:\/\/|https:\/\/|ftp:\/\/)(([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/";
		$replace = "<a href=\"$1$2\" target='_blank'>$2</a>"; 
		$web = preg_replace($search, $replace, $web);	 
		return $web;
}
```

 

och sen detta för att sätta funktionen på texten på länken i:

```php
linkURL($trad['text'])
```

 

Hoppas det va till nån hjälp!

Permalänk: https://www.webforum.nu/p/2067407

## #5 — Elisabeth 58, 2008-01-02T18:55Z

Hej "jwradhe". Begriper ju inte var i scriptet jag ska peta in koden bara, för att kunna testa? Kan nada om php....
mvh E

så här ser Maltes "spara.php" ut (och jag förmodar att det är där det hela ska in)
\____________________________________________________________________\_

nä fy jag är verkligen en högs förvirrad person. Nu har jag testat 100 gr och har 101 "spara.php" filer. Givetvis la jag in fel. Ursäkta mej Malte.

Så här ska det va (hoppas jag).....

\<?php  
require ("config.php");
include "strfunc.inc.php";

if($RegGlobal == 0){
	while (list ($key, $val) = each ($HTTP_POST_VARS)) { 
	$$key = $val; }
	$REMOTE_ADDR = $HTTP_SERVER_VARS\['REMOTE_ADDR'\];
	$HTTP_HOST = $HTTP_SERVER_VARS\['HTTP_HOST'\];
	$PHP_SELF = $HTTP_SERVER_VARS\['PHP_SELF'\];
}

if (isset($tillbaka)){ 
	header("Location: retur.php"); 
	exit;
} elseif (!isset($HTTP_POST_VARS\['namn'\])){
	header("Location: forum.php"); 
	exit;
} elseif (empty($namn)\|\|empty($nyttinlagg)\|\|empty($amne)){
	$poster=array(1,$namn,$epost,$amne,$nyttinlagg);
	$return=implode("\|",$poster);
	if($RegGlobal == 1){
		session_register("return");
	} else {
		session_start();
		$HTTP_SESSION_VARS\['return'\]=$return;
	}
	$url = "inlagg.php?retur=1&id=$index";
	if(isset($sida)) $url.= "&sida=".$sida."#retur";
	header("Location: $url");
	exit;
}

$forumfil=$filkatalog."/forum.txt";
$inlaggfil=$filkatalog."/".$index.".txt";
$indexfil=$filkatalog."/index.txt";

$nyttinlagg=cleanText($nyttinlagg);
$namn=cleanText($namn);
$epost=cleanText($epost);
$amne=cleanText($amne);

$tid=time();

$id=$index;

if($index==0){

//Här börjar avsnitt för nytt inlägg

if (!file_exists($indexfil)){
	if($fd=fopen($indexfil, "w")){
		$index=10000001;
		fwrite($fd,$index);
		fclose ($fd);
	} else $mail_inlagg\[\]=3;
} else {
	if($fd=fopen($indexfil, "r+")){
	$index=fread($fd,filesize($indexfil));
	(int) $index=$index;
	$index++;
	rewind($fd);
	ftruncate ($fd, 0);
	fwrite($fd,$index);
	fclose ($fd);
	} else $mail_inlagg\[\]=3;
}

$poster=array($tid,$index,$amne,$namn,$tid,"0","\\n");
$gpost=implode("\|",$poster);

if (!file_exists($forumfil)){
	if($fd=fopen($forumfil, "w")){
		fwrite($fd, $gpost);
		fclose ($fd);
	} else $mail_inlagg\[\]=1;
} else {
	if($fd=fopen($forumfil, "r+")){
		$innehall = filesize($forumfil) \> 0 ? fread ($fd, filesize ($forumfil)) : '';
		$innehall=$gpost.$innehall;
		rewind($fd);
		fwrite($fd, $innehall);
		fclose ($fd);
	} else $mail_inlagg\[\]=1;
}

$poster=array($index,$amne,"0","\\n");
$gpost=implode("\|",$poster);
$poster=array($namn,$epost,$tid,$nyttinlagg,$REMOTE_ADDR,"\\n");
$gpost.=implode("\|",$poster);

$filnamn=$filkatalog."/".$index.".txt";
if($fd=fopen($filnamn, "w")){
	fwrite($fd, $gpost);
	fclose($fd);
} else $mail_inlagg\[\]=2;

//Här slutar avsnitt för nytt inlägg

} else {

// Här börjar avsnitt för svar på inlägg

$innehall=file($forumfil);
for ($i=0;$i\<sizeof($innehall);$i++){
	$innehall\[$i\]=explode("\|",$innehall\[$i\]);
	if ($innehall\[$i\]\[1\]==$index){
		$amne=$innehall\[$i\]\[2\];
		$innehall\[$i\]\[0\]=$tid;
		$temp=$innehall\[$i\]\[5\];
		$temp++;
		$innehall\[$i\]\[5\]=$temp;
	}
	$innehall\[$i\]\[6\]="\\n";
}
rsort($innehall);
for ($i=0;$i\<sizeof($innehall);$i++) $innehall\[$i\]=implode("\|",$innehall\[$i\]);

if ($fd=fopen($forumfil, "w")){
	for ($i=0;$i\<sizeof($innehall);$i++) fwrite($fd, $innehall\[$i\]);
	fclose ($fd);
} else $mail_inlagg\[\]=1; 
	
$poster=array($namn,$epost,$tid,$nyttinlagg,$REMOTE_ADDR,"\\n");
$gpost=implode("\|",$poster);
if ($fd2=(fopen($inlaggfil, "a"))){
	fwrite($fd2, $gpost);
	fclose($fd2);				 
} else $mail_inlagg\[\]=2; 

} // slut avsnitt för svar på inlägg

$nyttinlagg = str_replace("\<br\>", "\\n", $nyttinlagg);
$nyttinlagg = str_replace("&quot;", "\\"", $nyttinlagg);
if($id!=0){
	$gpost="Svar ämne: ".$amne."\\n";
} else $gpost="Nytt ämne: ".$amne."\\n";
$gpost.="Inlägg av: ".$namn."\\n";
$gpost.="Inlagg:\\n".$nyttinlagg."\\n";
$gpost.="\\nFör att svara, gå till:\\n";
$gpost.="http://".$HTTP_HOST.dirname($PHP_SELF)."/inlagg.php?id=".$index."\\n\\n";

if(isset($mail_inlagg)){
	if(in_array(1)) $gpost.="OBS !!! Kunde ej spara till forum.txt\\n";
	if(in_array(2)) $gpost.="OBS !!! Kunde ej spara till id.txt\\n";
	if(in_array(3)) $gpost.="OBS !!! Kunde ej spara till index.txt\\n";
}
	
if ($skickamail==1){
	$huvud = "From: Mitt forum \<".$mailavsandare."\>\\n";
	$huvud .= "Return-Path: \<".$mailavsandare."\>\\n"; 
	mail($mailmottagare, "Nytt inlagg i Forumet", $gpost, $huvud);
}

if(isset($sida)){
	$url = "inlagg.php?id=".$id."&sida=".$sida;
} else $url = "forum.php";

header("Location: $url");
?\>

Permalänk: https://www.webforum.nu/p/2067539

## #6 — jwradhe, 2008-01-03T10:26Z

Hej Elisabeth_58!

```php
function linkURL($web)
{
        $web = preg_replace("/(?<=^|\s)(www\.([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/", "http://$1", $web);        
        $search = "/(?<=^|\s)(http:\/\/|https:\/\/|ftp:\/\/)(([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/";
        $replace = "<a href=\"$1$2\" target='_blank'>$2</a>";
        $web = preg_replace($search, $replace, $web);    
        return $web;
}
```

Den koden kan ligga var som i filen där du skriver ut tråden(inom php taggar), sen i den tagen där du skriver ut texten sätter du funktionen på bara. tex    linkURL($trad\['text'\])

Visa hur sidan där du skriver ut tråden&svar på så kan ja försöka baka in den åt dig.

Permalänk: https://www.webforum.nu/p/2067660

## #7 — Elisabeth 58, 2008-01-03T14:15Z

Hej igen jwradhe. Som jag fattar det så ska det i såna fall ligga inbakat i "spara.php"-filen som jag kopierade in ovan. Försökte själv få till det, men det blev givetvis pannkaka av det hela.....Kan du se/förstå om det stämmer att den ska in där?
(övriga filer tillhörande Maltes forum finns som sagt att hämta på
<http://www.a-kok.com/php/forum.php>) Heder åt Malte -hans enkla forum utan mysql är så bra och enkelt och passar "gamla tanter" alldeles ypperligt.

Permalänk: https://www.webforum.nu/p/2067699

## #8 — jwradhe, 2008-01-03T15:10Z

Hej Elisabeth!

Nej ska inte in i spara, utan den ska in i koden där du skriver ut sakerna.
Tex visa_trad.php om du förstår, där du loopar ut trådtexten, samt svaren på tråden, där ska vi lägga in denna kod.

Tror sidan heter inlagg.php som ja fattar det.

Permalänk: https://www.webforum.nu/p/2067712

## #9 — jwradhe, 2008-01-03T15:21Z

Har kollat nu.

lägg detta på rad 107:

```php
$fpost.="<br>\n<div class=\"meddelande\">".linkURL(wordwrap($inlagg[3], 60, "\n", 1))."</div>\n";
```

och sen detta vart du vill före inom php taggar.

```php
function linkURL($web)
{
        $web = preg_replace("/(?<=^|\s)(www\.([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/", "http://$1", $web);        
        $search = "/(?<=^|\s)(http:\/\/|https:\/\/|ftp:\/\/)(([-a-zA-Z0-9_]+\.)*[-a-zA-Z0-9_]+\.[-a-zA-Z0-9_]{2,6}(\/[^\s]*)*)(?=\s|$)/";
        $replace = "<a href=\"$1$2\" target='_blank'>$2</a>";
        $web = preg_replace($search, $replace, $web);    
        return $web;
}
```

Och så kanske det funkar :)

Permalänk: https://www.webforum.nu/p/2067713

## #10 — Elisabeth 58, 2008-01-12T22:46Z

Hej igen. Jag fortsätter att fråga....ingen som har löst detta ännu, eller tidigare -och vill dela med sej av sin kunskap? Hittills givna förslag har jag inte fått att fungera.
Gör man forumet lösenordsskyddat så går det ju bara finfint att ha "direkt-länk-funktion" i inläggen. Gäller ju bara att veta "hur" det ska göras..
Ett enkelt, lättöverskådligt och superbra forum utan mysql. Kanske jag också saknar en sökfunktion -annars tiptop bortsett från länkningen och \<br /\> duttarna (se mitt första inlägg på denna sida)
mvh Elisabeth
vääldans nybörjare

Permalänk: https://www.webforum.nu/p/2069947

---

Tråden på webben: https://www.webforum.nu/amne/php/167681-maltes-forum
