Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 14:22 Der er 47 kommentarer og
1 løsning

hjælp til admin's tagster funktion

hej eksperter :)

jeg har lige brug for lidt hjælp til hvordan admin's tagster funktion skal bruges... altså man kan jo fx ikke bar skrive:
$tekst = format($tekst);

koden er:
<?php
/*
Version : 3.0
Author : Lars B. Jensen, lars.jensen@ljweb.com
Version : 3.1
Author : Jacob Friis Larsen, jfl@eksperten.dk

Module Description
Module to transform URL and E-Mail addresses into clickable links.

Instruction
Use the function format to extract and modify all links and emails in a given string.
The parameters $target handling the target for links and $css_class for handling css on <a> tags are
both optional.
*/

class tagster {

function format ($str, $target = '_blank', $css_class = '') {
$str = str_replace(array('&', '<', '>'), array('&amp;', '&lt;', '&gt;'), $str);
$str = $this->url($str, $target, $css_class);
//$str = $this->email($str, $css_class);
$str = $this->fix_endchar($str);
$str = str_replace(array(' ', "\t", "\r", "\n"), array('&nbsp; ', '&nbsp; &nbsp; ', '', '<br />'), $str);
return $str;
}


function url ($str, $target, $css_class) {
$ins_str = ($css_class != '') ? ' class="'.$css_class.'"' : '';
if ($target != '') {
$ins_str .= ' target="'.$target.'"';
}
$str = $this->expand($str);
$str = preg_replace(array('/(ftp|http|https|telnet|news|nntp|file|irc):\/\/([a-z0-9~#%@&:;=!\',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i', '/(\s|tp\:|\(|\[|\&gt;)(www\.)([a-z0-9~#%@&:;=!\',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i', '/(\s|tp\:|\(|\[|\&gt;)(ftp\.)([a-z0-9~#%@&:;=!\',_æøå\(\)\?\/\.\-\+\[\]\|\*\$\^\{\}]+)/i'), array('/i', '/([\'\"\)\]\.\,\?\!]+)" (target|class)="/i', '/([\'\"\)\]\.\,\?\!]+)<\/a>/i'), array('">', '" \\2="', '\\1'), $str);
}

function expand ($str) {
return ' '.$str.' ';
}

function reduce ($str) {
return substr($str, 1, -1);
}
}
?>

håber der er en der kan sige mig hvordan den bruges og hvilke ting den gør - på forhånd tak!
Avatar billede exp Juniormester
14. februar 2004 - 17:47 #1
har du prøvet med et mellemrum?

altså

$tekst = format ($tekst);
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:49 #2
nope prøver jeg lige.. hvad gør den class {} ?
Avatar billede wickedd Juniormester
14. februar 2004 - 17:50 #3
$tekst = format($tekst); virker da 100% korrekt ... Jeg har aldrig haft probs med scriptet, og bruger det altid i de forums jeg programmere osv.

Men for at beskrive det kort ... Tagster gør dit forum/gæstebog til et sted for nørder :)
Man kan skrive alle html koder, uden det laver lort på resten af din side.
Desuden laver den også selv link.. Et hurtigt eksempel:
www.bla.dk
http://bla.dk
bla@bla.dk

Sådan der
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:50 #4
det gør ingen forskel med et mellemrum :/

skrevet således:

$tekst = format ($tekst);
Avatar billede wickedd Juniormester
14. februar 2004 - 17:51 #5
ok bla@bla.dk virker ikke på E ... lolz
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:51 #6
heeh wichedd ved godt hvad den gør.. men hvordan den gør det ved jeg ikke ;]
Avatar billede wickedd Juniormester
14. februar 2004 - 17:52 #7
husk at dit input (eller form) skal hedde tekst før det virker ...
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:52 #8
min variable? for hvis så gør den det!
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:53 #9
Fatal error: Call to undefined function: format() in d:\wwwroot\billighardware.dk\info\profil.php on line 19
Avatar billede wickedd Juniormester
14. februar 2004 - 17:55 #10
<TEXTAREA NAME="tekst" ROWS="20" COLS="50">bla skriv din tekst her</TEXTAREA><br>
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 17:56 #11
det er fra en database så de er slet ikke en form på siden!
Avatar billede wickedd Juniormester
14. februar 2004 - 17:58 #12
Jamen doh, tagster skal på teksten der bliver smidt ind i databasen, ikke når det bliver hentet.
Til det formål kan du ikke bruge scriptet til noget
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 18:14 #13
argh shit... det vidste jeg ikke, troede godt man kunne det den anden led også!
hvad så hvis jeg skal bruge det i en form igen, er der os noget der går den anden vej så?

og hvad er forskellen på om det kommer fra en form eller en database?
Avatar billede exp Juniormester
14. februar 2004 - 18:29 #14
wickedd >>
Det virker da også når man henter det ud - det er da nok vrøvl
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 18:31 #15
vil da nok os sys det burde være det samme?
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 18:31 #16
hvordan får jeg det så til at virke exp?
Avatar billede wickedd Juniormester
14. februar 2004 - 18:32 #17
Jo altså, Tagster laver hele formen om, inden det bliver sendt til databasen, sådan at du ikke skal lave alt muligt kode når det bliver hentet, for at blive vist korrekt.
Dette gør også din hjemmer meget hurtigere, da den viser data direkte fra databasen, og ikke skal konventere en masse før visning. (hvilket er en go ting)

Helt klart så kan jeg anbefale at du implementere Tagster i din kode.
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 18:34 #18
ikke når det skal være redigerbar materiale som brugeren skal kunne rette når han/hun lyster det! for det kommer til at se underligt ud i en form bagefter!
Avatar billede wickedd Juniormester
14. februar 2004 - 18:37 #19
Hvorfor fan fortæller du ikke det, inden folk begynder at hjælpe dig?
Hvis det er til en ganske almindelig form (textarea), så brug da NL2BR - Så er den skid slået
Avatar billede wickedd Juniormester
14. februar 2004 - 18:40 #20
$tekst = nl2br($tekst);
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 18:40 #21
fordi jeg godt vil vide hvordan man får en functions som den jeg henviser til til at virke.. jeg ku ikke forstå den sagde fejl! jeg ved da godt at jeg kan gøre det med nl2br (bruger jeg nu) men synes den anden så spændende ud, og den laver link/mail om til klikbar plus diverse andre ting kan jeg se...
derfor jeg ville have lidt hjælp, så er jeg da sådan set ligeglad med at du sys det skal laves på en anden måde end den jeg ønsker!
Avatar billede exp Juniormester
14. februar 2004 - 18:42 #22
Er ikke helt sikker, men tror du skal loade class'en "tagster" først...
Avatar billede wickedd Juniormester
14. februar 2004 - 18:43 #23
Hold kæft hvor er dum.
Gider ikke engang spilde min tid på dit lort, det er fanme for åndsvagt det her.

Jeg prøver at hjælpe alt det jeg kan, og så siger du først til sidst at det skal i et textarea!
Klar dig selv mester!
Avatar billede wickedd Juniormester
14. februar 2004 - 18:44 #24
Enhver ved at i et textarea behøver man ikke funktioner til at erstatte <html> osv.
nl2br er nok - Det er noget andet hvis man vil vise det et andet sted end i formen
Avatar billede wickedd Juniormester
14. februar 2004 - 18:45 #25
nl2br skal faktisk heller ikke bruges - Dét er så min fejl
Avatar billede exp Juniormester
14. februar 2004 - 18:47 #26
wickedd >>
Styr lige dit sprog lidt...
Avatar billede wickedd Juniormester
14. februar 2004 - 18:48 #27
"så er jeg da sådan set ligeglad med at du sys det skal laves på en anden måde end den jeg ønsker!"
Svarere sådan set kun igen
Avatar billede exp Juniormester
14. februar 2004 - 18:56 #28
wickedd >>
Derfor behøver du ikke bruge ord som "dum" og "lort" - det er der slet ingen grund til...

Hvis elskermad.dk har valgt at det skal laves, så brugeren kan ændre i indholdet, er det da totalt overkill, at lægge det i databasen (kommer self. an på antallet af brugere) - og så må vi som svarere forholde os til det.
Vil du ikke bruge mere tid, er det fair nok, men du skal stadig holde indholdet i dine indlæg sobre!

exp/coadmin


elskermad.dk >>
Forklar lige helt konkret, hvornår du vil benytte tagster.
For wickedd har ret i, at det ikke kan benyttes *inde i* textarea'et, men skal du bruge den, når siderne genereres i forbindelse med at en bruger surfer rundt p ådit site kan den godt.

exp/bruger
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 19:34 #29
hehe wickedd, du gider ikke bruge mere tid her men alligevel lægger du 2 kommentare efter det og kommentere igen på exp kommentar... lidt sjovt! :D

det er ligesom minisite her på E..
det skal kunne vises på en almindelig side hvor det er offenlig tilgængelig (her der er brug for den tagster) også skal det være mulig for brugeren at ændre i teksten på en adminside vha et textarea hvor der jo så ikke skal være formateret i teksten...

til at forstå nu?
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 19:35 #30
hvordan loader med en class så?
Avatar billede htm Nybegynder
14. februar 2004 - 20:05 #31
Har kigget lidt på dem tagsterfunktion.

Normalr ville den skulle kaldes med

$tekst = "en masse tekst - http://www.eksperten.dk - lidt mere tekst";
$var = new tagster;
print( $var -> format($tekst));

Men tagsteren virker ikke...
for det første mangler der en funktion i tagsteren som bliver kaldt men den findes ikke.
for det andet returnerer funktionen url ikke noget
Og så returnerer hans preg_replace et array og det forstår jeg ikke ret meget af...

Men da den er beregnet til classes og object orientered programmering, vil jeg anbefale dig at bruge ljwebs i stedet. da den virker som beskrevet i dette spørgsmål.
http://www.ljweb.com/usefulscripts/
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 20:09 #32
okay det vil jeg så gøre istedet...

hvad er: classes og object "orientered programmering"...?
for er tit faldet over de ord men stadig ikke fundet ud af hvad det er! hvis det virker lægger du ikk så lige et svar htm?
Avatar billede htm Nybegynder
14. februar 2004 - 20:13 #33
Det er en måde at bygge sin programmering op strukteret. så man loader nogle classes. og så kan du så nemt og hurtigt ændre værdier i denne klasse.

Du kan også have flere instanser af samme klasse kørende.

eks. med tagster

$tekst1 = new tagster;
$tekst2 = new tagster;

så kan du så have den ændrede tekst liggende, og stadig kunne ændre i dem hver for sig.

Læs mere her: http://dk2.php.net/oop
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 20:17 #34
okay det forstod jeg så ikk men wtf :] du får nogle points for at ha fået det til at virke for mig! mange tak...
Avatar billede wickedd Juniormester
14. februar 2004 - 21:32 #35
omfg
Avatar billede wickedd Juniormester
14. februar 2004 - 21:32 #36
Du er så officielt én af dem jeg aldrig vil hjælpe mere.
Hold da kæft mand, gro dog en hjerne!
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 21:51 #37
okay det er da helt iorden.. har ikke set dig før herinde så det overlever jeg nok!
men tror heller ikke du får lov til at hjælpe andre eller selv få hjælp hvis du ikke snart finder ud af hvordan udviklede mennesker med en udvikle og fuldtudgroet hjerne opføre sig!
tænk på den...
Avatar billede wickedd Juniormester
14. februar 2004 - 22:15 #38
Det eneste jeg kan sige til din kommentar, er, at du nok snart, ja faktist hurtigst muligt begynder at forstå lidt om PHP.
Du har stadig ikke forstået at du har spildt folks tid på dit såkaldte 'hjemme programmering' ? Vi prøver alle sammen at hjælpe dig det bedste vi overhovedet kan, og selvfølgelig til sidst, begynder du rent faktisk at sige hvad det hele handler om.
Der må jeg godt være uenig med resten af folket, og jeg vil da også gerne anbefale dig en hjerne der kan klare at lægge 2+2 sammen.
Avatar billede wickedd Juniormester
14. februar 2004 - 22:16 #39
Men det ved jeg du ikke kan, din hat!
Avatar billede htm Nybegynder
14. februar 2004 - 22:22 #40
wickedd>> Du skulle måske også lære at læse??

Hans spørgsmål går på at vide hvordan han bruger admins tagster.
Det har du jo ikke hujlpet ham med, da du ikke har "set" at det er en klasse.
Men fordi du misforstår hele spørgsmålet, begynder du at svine folk til.

Måske DU skulle begynde at forstå noget PHP! Og så skulle du tage og lære lidt om hvordan man omgås og snakker med andre folk.
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 22:25 #41
hvorfor kan man ikke anmelde længere?
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 22:27 #42
og som htm skriver gik mit spørgsmål ud på vores admin's tagster bruges og virker og ikke om textareas osv
Avatar billede htm Nybegynder
14. februar 2004 - 22:29 #43
elskermad.dk>> Du kan også sagtnes anmelde, du får så vidt jeg husker bare ikke noget respons på at du har anmeldt. :-)

Og desuden har vi jo en coadmin deltagende her i tråden...
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 22:33 #44
nej for anmeld-linket sidder under funktioner ikke? og når man ikke er Pro-abb kan man ikke se funktioner, det er da egentlig lidt dårligt!

ja, men så synes jeg at exp sku ta en snak med wickedd når han ser tråden engang igen, og fortælle ham at man ikke behøves at flippe helt ud, bar fordi der kommer en "newb" forbi..
Avatar billede htm Nybegynder
14. februar 2004 - 22:35 #45
ok var ikke klar over at man skulle være pro for at have funktioner... mærkeligt. Det er ikke bare sådan at du skal åbne den via tryk på pilen?
Avatar billede elskermad.dk Nybegynder
14. februar 2004 - 22:38 #46
argh dooh.. hvor dum kan man være ;] man plejede da bar at kunne trykke på teksten så udvidede den sig... haha, det har ellers irriteret mig et stykke tid at jeg troede den del var taget væk :D os tak for det!
Avatar billede exp Juniormester
15. februar 2004 - 14:28 #47
wickedd >>
Jeg bad dig vare dit sprog. Du overhørte tydeligvis denne kommentar 14/02-2004 18:56:24

Du tildeles 1. advarsel jf. §2.2 og 2.6


exp/coadmin
Avatar billede htm Nybegynder
21. februar 2004 - 22:09 #48
wickedd>> Hvad med at indgå i konstruktiv debat, i stedet for at tildele dårlig karma med samme ordlyd som den jeg har tildelt dig?
Jeg syntes jeg har kommenteret grunden til at give dig dårlig karma! Kan du også det?
Eller er det bare vendetta?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester