Avatar billede tjensen Nybegynder
29. januar 2005 - 20:34 Der er 15 kommentarer og
1 løsning

xxx_replace funktioner

Hey!

Efter jeg havde læst om tagster, og hvilken smarte ting man kunne bruge preg_replace til, så begyndte jeg at lege lidt med nogle funktioner.
Nogen der har link til en god side at lærer lidt om ***_replace funktioner?

Jeg skriver sender fra et textarea og ville gerne kunne lave nogle smarte links. Eks.
  [links:Eksperten:www.eksperten.dk]

hvilket så gerne skulle ende i min db som
  <a href="www.eksperten.dk">Eksperten</a>


Tillægs spørgsmål, kan man får denne til ikke at oprette sig med et linie skift? Eller så den sletter den næste linie?
$tekst = str_replace("[normal]", "</div>", $tekst);
Avatar billede alister_crowley Nybegynder
29. januar 2005 - 20:42 #1
Avatar billede olebole Juniormester
29. januar 2005 - 20:46 #2
<ole>

Et div er et block-level element og vil derfor altid introducere en ny linie. Du kan i stedet indsætte et span

/mvh
</bole>
Avatar billede olebole Juniormester
29. januar 2005 - 20:50 #3
Kender du i øvrigt oversætter-funktionen strtr()?

$arrRepl = array(
  "et" => "1",
  "to" => "2",
  "tre" => "3"
);

$s = "noget tekst et - noget mere to - og den sidste lille tekst tre";
print strtr($s, $arrRepl);

- http://dk.php.net/manual/da/function.strtr.php
Avatar billede tjensen Nybegynder
29. januar 2005 - 20:51 #4
Puha, det var mere omfattende end jeg troede. Men cool, tror det kan være meget nyttigt at lærer :)

-> <ole> Jeps den introducere en ny linie, forstår jeg. Derfor jeg ville vied om det er muligt med str_replace og slette et tegn.
Avatar billede alister_crowley Nybegynder
29. januar 2005 - 20:55 #5
Regulær expression er noget værrere noget, men det giver magt til den som kan kontroler dem.
Avatar billede tjensen Nybegynder
29. januar 2005 - 21:03 #6
Ja, de virker uoverskuelig, men det skræmmer mig nu ikke.

Mit problem er bare at få fat i [links:Eksperten:www.eksperten.dk]

Bagefter kan man jo bare lave
$tekst = substr($tekst, 1, -1);
Og så splitte dem til et array.

Men hvordan får man fat på det.

-> <olebole> Nope, kender jeg ikke, men er igang med at kigge på det.
Avatar billede alister_crowley Nybegynder
29. januar 2005 - 22:02 #7
tjaa, jeg ville helle bruge denne her fra php.net (www.php.net/ereg_replace)

Eksempel 3. Replace URLs with links

<?php
$text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
                    "<a href=\"\\0\">\\0</a>", $text);
?>

som laver urls til links, ligesom her på eksperten
Avatar billede tjensen Nybegynder
29. januar 2005 - 22:09 #8
Ja, den bruger jeg også til andre ting. Men jeg er ved at lave hjemmeside for en. Og han er ikke en computer mand.
Når han så i sit tekstfelt skal angive et link, vil jeg gerne gøre så han kan skrive
[link:Eksperten:www.eksperten.dk]
Så den på hans side bare skriver Eksperten og er et link til www.eksperten.dk
F.eks. hvis han skal ligge et link ind til www.krak.dk?foo=bar..osv, det vil ikke se særlig pænt ud jo.
Avatar billede coderdk Praktikant
29. januar 2005 - 22:17 #9
echo preg_replace( "/\[link:(.*?):([^\]]*)\]/", '<a href="\\1">\\2</a>', $text );
Avatar billede tjensen Nybegynder
29. januar 2005 - 22:24 #10
Ja, allmost \1 og \2 skulle lige byttes om!

Hvad er forskellen på ereg og preg?

Jeg takker mange gange!
Avatar billede coderdk Praktikant
29. januar 2005 - 22:25 #11
preg er som regel hurtigere
Avatar billede tjensen Nybegynder
29. januar 2005 - 22:29 #12
Hold kæft hvor er det super! Jeg vil lærer det her 'sprog-system' :)
Avatar billede coderdk Praktikant
29. januar 2005 - 22:30 #13
heheh ja regular expressions er *guld* værd ;)
Avatar billede tjensen Nybegynder
29. januar 2005 - 22:30 #14
Alle der føler sig fortjent til nogle pointz smid et svar!
Avatar billede coderdk Praktikant
29. januar 2005 - 22:31 #15
Hep :)
Avatar billede tjensen Nybegynder
29. januar 2005 - 23:01 #16
Så gik der en halv time. Håber ikke I andre føler jer alt for snydt.

Tak til jer!

//Tjensen
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