Ubb @ tag functie
Ik wil graag een @gebruikersnaam functie.
Ik had al wat gemaakt:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
function usertag($text){
$text1 = str_replace("@".$text."",$text, $text);
$user = mysql_query("SELECT * FROM leden WHERE naam='".$text1."'");
if(mysql_num_rows($user) == 0){
$text=str_replace("@".$text."","@".$text."",$text);
}else{
$text=str_replace("@".$text."","<a href='".SITELINK."profiel/".$text."/'>@".$text."</a>",$text);
}
return $text;
}
$text1 = str_replace("@".$text."",$text, $text);
$user = mysql_query("SELECT * FROM leden WHERE naam='".$text1."'");
if(mysql_num_rows($user) == 0){
$text=str_replace("@".$text."","@".$text."",$text);
}else{
$text=str_replace("@".$text."","<a href='".SITELINK."profiel/".$text."/'>@".$text."</a>",$text);
}
return $text;
}
Maar dat werkt niet.
Hij geeft ook geen warning aan.
Ik wil graag het volgende:
Als je @Justin doet en de gebruiker bestaat dan komt er een link bij.
En als je @phphulp doet en de gebruiker bestaat niet dat er dan geen link voor komt.
Alvast bedankt,
Justin
Gewijzigd op 03/03/2013 21:38:34 door Justin Gaatjeniksaan
je pakt heel je text
probeer eens explode() op de spaties en zet dat in een foreatch zo krijg je voor ieder woordt de functie ( opgelet voor leestekens ) controleer de woorden op de @ indien ze die hebben controleer je of de gebruiker bestaat. zo ja maak je er een link van
Gewijzigd op 03/03/2013 22:33:48 door php knipper
Php knipper op 03/03/2013 22:27:10:
meschien omdat je een fout maakt met je woorden
je pakt heel je text
probeer eens explode() op de spaties en zet dat in een foreatch zo krijg je voor ieder woordt de functie ( opgelet voor leestekens ) controleer de woorden op de @ indien ze die hebben controleer je of de gebruiker bestaat. zo ja maak je er een link van
je pakt heel je text
probeer eens explode() op de spaties en zet dat in een foreatch zo krijg je voor ieder woordt de functie ( opgelet voor leestekens ) controleer de woorden op de @ indien ze die hebben controleer je of de gebruiker bestaat. zo ja maak je er een link van
Dankje wel, ik ga het proberen.
Dus niet:
Maar gewoon:
Toevoeging op 04/03/2013 21:09:46:
Probeer dit eens:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
// verkrijg string tussen 2 tags
function tussen($string, $start, $end)
{
$string = " " . $string;
$ini = strpos($string, $start);
if($ini == 0)
return "";
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
function usertag($tekst)
{
$tekst_aangepast = strtolower(str_replace(array(".", ",", "!", "?", ";"), " ", $tekst));
$naam_orgineel = tussen($tekst_aangepast, '@', ' ');
$res = mysql_query("SELECT id, naam FROM leden WHERE naam = '" . $naam . "' LIMIT 1");
if($res !== false AND mysql_num_rows($res) != 0)
{
// fetch de data en maak die makkelijk beschikbaar
$data = mysql_fetch_row($res);
$id = $data[0];
$naam = $data[1];
// vervang in de orginele tekst de naam
$tekst = str_replace("@" . $naam_orgineel, "<a href='" . SITELINK . "profiel/" . $id . "/'>@" . $naam . "</a>", $tekst);
}
return $tekst;
}
?>
// verkrijg string tussen 2 tags
function tussen($string, $start, $end)
{
$string = " " . $string;
$ini = strpos($string, $start);
if($ini == 0)
return "";
$ini += strlen($start);
$len = strpos($string, $end, $ini) - $ini;
return substr($string, $ini, $len);
}
function usertag($tekst)
{
$tekst_aangepast = strtolower(str_replace(array(".", ",", "!", "?", ";"), " ", $tekst));
$naam_orgineel = tussen($tekst_aangepast, '@', ' ');
$res = mysql_query("SELECT id, naam FROM leden WHERE naam = '" . $naam . "' LIMIT 1");
if($res !== false AND mysql_num_rows($res) != 0)
{
// fetch de data en maak die makkelijk beschikbaar
$data = mysql_fetch_row($res);
$id = $data[0];
$naam = $data[1];
// vervang in de orginele tekst de naam
$tekst = str_replace("@" . $naam_orgineel, "<a href='" . SITELINK . "profiel/" . $id . "/'>@" . $naam . "</a>", $tekst);
}
return $tekst;
}
?>
Nadeel: wat als er twee @ gebruikt worden?
Ik noem @Justin en @Eddy.
En is @Eddy en @Eddy E hetzelfde? Eddy E zal niet gevonden worden.
Gewijzigd op 04/03/2013 20:45:29 door Eddy E