[php] Tekst omzetten naar link

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • antonboonstra
  • Registratie: Augustus 2002
  • Laatst online: 20-09 18:51

antonboonstra

8815Wp | WP | Tesla | Zero

Topicstarter
Omdat ik het altijd leuk vind om php te leren, heb ik zelf een forum in elkaar geknutseld en dit werkt ook allemaal prima. Ik probeer echter 1 extra functie in te bouwen en dit is toch lastiger dan ik dacht. Ik probeer links (als er http:// in het bericht staat) om te zetten in klikbare links. Lijkt mij een veelvoorkomend iets, maar ik kan maar geen oplossing vinden via de search. Misschien dat jullie mij verder op weg kunnen helpen:

Wat ik heb ik tot zover:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function make_link($bericht)
{
  $needle = ' http://';
  $aantal = substr_count ( $bericht, $needle );

  if($aantal == 0) return $bericht; 
  else
  {
    $begin_link = strpos($bericht, $needle) + 1;
    $einde_link = strpos($bericht, ' ', $begin_link+1)+1;
    $lengte_link = $einde_link-$begin_link;

    $link = substr($bericht, $begin_link, $lengte_link-1);
    $newlink = '<a href="'.$link.'" target="_blank">'.$link.'</a>';
    
    $bericht_nieuw = substr($bericht, 0, $begin_link);
    $bericht_nieuw .= $newlink;
    $bericht_nieuw .= substr($bericht, $einde_link-1);
    return $bericht_nieuw;
  }
}


Problemen die ik hiermee tegenkom:
- De link kan ook eindigen met een enter (<br>) ipv een spatie
- De link kan beginnen met een enter
- Als meerdere links voorkomen, wordt alleen de eerste verwerkt

p.s. Ik zoek naar " http://" (dus met spatie) om te voorkomen dat tags zoals "<img src="http://" ook worden omgezet.

📸Canon EOS 5D IV 🚁DJI Mavic Pro 🏍️Zero SR ⚡Tesla M3 LR 🌡️Daikin US 3.5kW ☀️8815Wp 🔋Marstek Venus-E 5,12 kWh Tweakers PVOutput lijst


Acties:
  • 0 Henk 'm!

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 20:04
Ik zou even gaan zoeken naar meer info over de verwerking van UBB code. Dit is de code die ook op GoT gebruikt wordt met de [ ] haken.
Hiermee kan je veel beter de bovenstaande problemen tackelen...

Acties:
  • 0 Henk 'm!

  • antonboonstra
  • Registratie: Augustus 2002
  • Laatst online: 20-09 18:51

antonboonstra

8815Wp | WP | Tesla | Zero

Topicstarter
MuddyMagical schreef op dinsdag 14 oktober 2008 @ 15:59:
Ik zou even gaan zoeken naar meer info over de verwerking van UBB code. Dit is de code die ook op GoT gebruikt wordt met de [ ] haken.
Hiermee kan je veel beter de bovenstaande problemen tackelen...
Ik wil de omzetting naar links zo laagdrempelig mogelijk maken, dus liever niet met UBB codes werken. Het is bedoeld voor mensen die geen ervaring hebben met forums e.d. Daarnaast werkt het hier op GoT ook als je alleen een link intypt en niet de UBB code gebruikt.

📸Canon EOS 5D IV 🚁DJI Mavic Pro 🏍️Zero SR ⚡Tesla M3 LR 🌡️Daikin US 3.5kW ☀️8815Wp 🔋Marstek Venus-E 5,12 kWh Tweakers PVOutput lijst


Acties:
  • 0 Henk 'm!

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 20:04
antonboonstra schreef op dinsdag 14 oktober 2008 @ 16:04:
[...]

Ik wil de omzetting naar links zo laagdrempelig mogelijk maken, dus liever niet met UBB codes werken. Het is bedoeld voor mensen die geen ervaring hebben met forums e.d. Daarnaast werkt het hier op GoT ook als je alleen een link intypt en niet de UBB code gebruikt.
Eensch. Ik ga vanavond even voor je kijken. Let er trouwens wel op dat 9 van de 10 mensen een webadres invoert als 'www.' adres en niet met http:// ervoor

Acties:
  • 0 Henk 'm!

  • antonboonstra
  • Registratie: Augustus 2002
  • Laatst online: 20-09 18:51

antonboonstra

8815Wp | WP | Tesla | Zero

Topicstarter
MuddyMagical schreef op dinsdag 14 oktober 2008 @ 16:10:
[...]

Eensch. Ik ga vanavond even voor je kijken. Let er trouwens wel op dat 9 van de 10 mensen een webadres invoert als 'www.' adres en niet met http:// ervoor
Thanx voor de tip en alvast bedankt voor je hulp.

📸Canon EOS 5D IV 🚁DJI Mavic Pro 🏍️Zero SR ⚡Tesla M3 LR 🌡️Daikin US 3.5kW ☀️8815Wp 🔋Marstek Venus-E 5,12 kWh Tweakers PVOutput lijst


Acties:
  • 0 Henk 'm!

Verwijderd

dit zou normaalgesproken met regex te fixen vallen. Kan dat helpen bij het googlen?

[ Voor 4% gewijzigd door Verwijderd op 14-10-2008 16:37 . Reden: bbcode ]


Acties:
  • 0 Henk 'm!

  • Flard
  • Registratie: Februari 2001
  • Laatst online: 18-09 22:09
Ik kan je sterk aanraden je eens te verdiepen in reguliere expressies. Dat is een enorm sterkte 'taal' om dit soort tekstmutaties uit te voeren.

Acties:
  • 0 Henk 'm!

  • 8088
  • Registratie: December 2000
  • Niet online

8088

NaN

Do you seek to engage in or have you ever engaged in terrorist activities, espionage, sabotage, or genocide?


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

antonboonstra schreef op dinsdag 14 oktober 2008 @ 15:56:
p.s. Ik zoek naar " http://" (dus met spatie) om te voorkomen dat tags zoals "<img src="http://" ook worden omgezet.
Suffe redenatie. Waarom zou een door een gebruikte ingetikte tekst als "<img src=...>" letterlijk in de HTML output terecht moeten komen (dus als daadwerkelijke img tag)? Je zei zelf al dat je het zo simpel mogelijk wilt houden. Dus waarom wil je in hemelsnaam dat als er een IMG tag in de post staat daar de url niet veranderen?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • antonboonstra
  • Registratie: Augustus 2002
  • Laatst online: 20-09 18:51

antonboonstra

8815Wp | WP | Tesla | Zero

Topicstarter
.oisyn schreef op dinsdag 14 oktober 2008 @ 17:08:
[...]

Suffe redenatie. Waarom zou een door een gebruikte ingetikte tekst als "<img src=...>" letterlijk in de HTML output terecht moeten komen (dus als daadwerkelijke img tag)? Je zei zelf al dat je het zo simpel mogelijk wilt houden. Dus waarom wil je in hemelsnaam dat als er een IMG tag in de post staat daar de url niet veranderen?
Omdat ik, voordat ik links omzet, bijvoorbeeld al smileys aanmaak. Ik zou dit om kunnen wisselen bedenk ik mij net, maar ik heb ook de mogelijkheid ingebouwd om Youtube filmpjes in te voegen door een link tussen blokhaken te zetten.

Ik zal nog even naar de links van 8088 kijken.

Edit: Het concrete voorbeeld van 8088 werk prima, alleen niet met mijn Youtube oplossing, dus die zal ik nog moeten aanpassen. Bedankt! Nu alleen nog de code proberen te begrijpen. Ik denk dat ik daarvoor de tip van Flard wel nodig heb.

[ Voor 14% gewijzigd door antonboonstra op 15-10-2008 10:05 ]

📸Canon EOS 5D IV 🚁DJI Mavic Pro 🏍️Zero SR ⚡Tesla M3 LR 🌡️Daikin US 3.5kW ☀️8815Wp 🔋Marstek Venus-E 5,12 kWh Tweakers PVOutput lijst


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

antonboonstra schreef op woensdag 15 oktober 2008 @ 09:55:
[...]

Omdat ik, voordat ik links omzet, bijvoorbeeld al smileys aanmaak. Ik zou dit om kunnen wisselen bedenk ik mij net, maar ik heb ook de mogelijkheid ingebouwd om Youtube filmpjes in te voegen door een link tussen blokhaken te zetten.
Je moet dan ook niet dingen veranderen die je al veranderd hebt :). In plaats van steeds over de hele string heen te gaan waarin je de veranderingen hebt toegepast, kun je beter de string ophakken in al veranderde delen en nog niet veranderde delen. In die niet veranderde delen kun je dan vervolgens weer gaan zoeken naar andere dingen die je wilt veranderen (zoals urls, als je eerst al youtube links hebt gedaan) waardoor die delen nog verder worden opgehakt, etc.. Aan het eind kun je vervolgens weer alles bij elkaar voegen voor het resultaat.

[ Voor 4% gewijzigd door .oisyn op 15-10-2008 12:32 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

Verwijderd

kijk anders een in de broncode van phpbb. Het kan niet anders dan dat daar een ubb-cdeparser in zit die ook links fixt zoals jij het graag zou hebben. En smileys waarschijnlijk ook ;)

[ Voor 29% gewijzigd door Verwijderd op 15-10-2008 14:07 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 03:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.

Pagina: 1