Afbeeldingen quoten

Hulp nodig bij een modificaties of op zoek naar een MOD?
Forumregels

LEES: Richtlijnen voor Support. Vul de support template in!
phpBB3.0.x
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
Gebruikersavatar
Irvine
Berichten: 56
Lid geworden op: 15 dec 2007, 00:50

Afbeeldingen quoten

Bericht door Irvine » 07 okt 2008, 10:45

Hallo, afbeeldingen quoten is niet echt ideaal, want het neemt namelijk veel ruimte in beslag om twee of meerdere keren een afbeeldingen tegen te komen. Op een ander forum heb ik het volgende gezien:

http://img170.imageshack.us/img170/4994/fotodn8.png

Het quote niet de gehele afbeelding, maar een link naar de afbeelding. Is dit toe te voegen?

Edit: Even omhoog gebracht als het mag (ja ik heb de support template gelezen), want ik vraag het me echt nog steeds af en heb van alles zelf geprobeerd

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 07:58

Ik ben ook erg geinteresseerd naar deze modificatie, dus als iemand zich geroepen voelt :)

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 11:21

Is niet zo lastig.

Open
message_parser.php

Zoek

Code: Selecteer alles

$in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));
Plaats achter

Code: Selecteer alles

$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 11:24

Niet zo lastig zeg je :D, voor mij wel hoor ;)

Bedankt in ieder geval, ik ga het direct proberen!
Wijziging: werkt perfect, thanks!

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 12:36

Mosymuis is goed bezig. :)
Op basis daarvan iets uitgebreid, zodat ook thumbnails vanuit imageshack e.d. goed verwerkt worden:

Open
message_parser.php

Zoek

Code: Selecteer alles

$in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));
Plaats achter

Code: Selecteer alles

$in = preg_replace('#\[url=(.*)\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 12:39

Slim ;)

//edit
Maar je moet wel de tweede groep pakken; nu pak je het link url, niet het plaatjes url.

Code: Selecteer alles

$in = preg_replace('#\[url=.*\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
zo dus.

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 12:45

Juist niet. ;)
Als je de tweede groep pakt, pak je de thumbnail. Je opent dan bijvoorbeeld http://www.example.com/thumb_image.jpg. Dat is puur een plaatje, dus kun je niet naar http://www.example.com/large_image.jpg
Ik ga ervanuit dat als iemand het plaatje alsnog wil bekijken, liever de volledige versie dan een thumbnail ziet.

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 13:04

Juist niet. ;)
Imageshack geeft de volgende code na het uploaden van een afbeelding:

Afbeelding

als een bezoeker dit plaatst op het forum, en gequote wordt, krijg je dus:

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 13:12

Ai, da's knap lullig van imageshack. Dan heb je dus deze 2 dingen om rekening mee te houden:

Code: Selecteer alles

[URL=http://img258.imageshack.us/my.php?image=examplevy4.jpg][IMG]http://img258.imageshack.us/img258/1487/examplevy4.th.jpg[/IMG][/URL][URL=http://g.imageshack.us/thpix.php][IMG]http://img258.imageshack.us/images/thpix.gif[/IMG][/URL]
en

Code: Selecteer alles

[URL=http://imageshack.us][IMG]http://img258.imageshack.us/img258/1487/examplevy4.jpg[/IMG][/URL]
[URL=http://g.imageshack.us/img258/examplevy4.jpg/1/][IMG]http://img258.imageshack.us/img258/examplevy4.jpg/1/w240.png[/IMG][/URL]
En dan wordt de regexp iets lastiger...

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 13:21

Is 't gek als ik er nu helemaal niets meer van snap? :lol:

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 13:23

Dit kan natuurlijk:

Code: Selecteer alles

$in = preg_replace('#\[url=http\://imageshack\.us\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[url=(.*)\]\[img\].*\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
al vid ik dit geen nette oplossing omdat je dan in theorie met alle image hosting services rekening zou moeten gaan houden.

Dit is dan iets slimmer:

Code: Selecteer alles

$in = preg_replace('#\[url=(.*)(jpg|gif|png|bmp)\]\[img\].*\[/img\]\[/url\]#iU', '[ [url=\1\2]afbeelding[/url] ]', $in);
$in = preg_replace('#\[url=.*\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 13:34

In de richting van dat eerste codeblok zat ik ook te denken, maar dat vond ik inderdaad niet zo slim. Toen zat ik weer met (us|com|nl|net) enzo, maar dan ben je ook nooit klaar. Die tweede is inderdaad slimmer, en dit dan weer nét wat slimmer omdat er helaas nog teveel mensen zijn die .jpeg gebruiken, zoveel dat imageshack dat ook gewoon toestaat:

Code: Selecteer alles

$in = preg_replace('#\[url=(.*)(jpg|jpeg|gif|png|bmp)\]\[img\].*\[/img\]\[/url\]#iU', '[ [url=\1\2]afbeelding[/url] ]', $in);
$in = preg_replace('#\[url=.*\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\2]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
En bij de tweede regel ook even de tweede match toegepast, omdat die van de img src is.

Samen komen we een heel eind. :)

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 13:36

moet ik nu:

Code: Selecteer alles

$in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));
vervangen door:

Code: Selecteer alles

$in = preg_replace('#\[url=(.*)(jpg|jpeg|gif|png|bmp)\]\[img\].*\[/img\]\[/url\]#iU', '[ [url=\1\2]afbeelding[/url] ]', $in);
$in = preg_replace('#\[url=.*\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\2]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
Of zie ik dat helemaal fout? :|

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 13:41

Moeten klinkt zo dwingend, maar ja, dat is wel mijn advies. ;)

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 13:47

Bedankt weer :D
Wordt toch tijd dat ik me eens wat meer hierin ga verdiepen, voel me soms zo dom he :D

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 13:52

Ger schreef:En bij de tweede regel ook even de tweede match toegepast, omdat die van de img src is.
Kijk nog eens ;) aangezien we per regex telkens maar één groep gebruiken, maak ik ook telkens maar één groep in het patroon. \2 moet dus toch \1 blijven:

Code: Selecteer alles

$in = preg_replace('#\[url=(.*(jpg|jpeg|gif|png|bmp))\]\[img\].*\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[url=.*\]\[img\](.*)\[/img\]\[/url\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
$in = preg_replace('#\[img\](.*)\[/img\]#iU', '[ [url=\1]afbeelding[/url] ]', $in);
ook heb ik de eerste wat netter gemaakt (één groepje).

Rinus
Berichten: 44
Lid geworden op: 04 jul 2007, 12:41
Contacteer:

Re: Afbeeldingen quoten

Bericht door Rinus » 08 okt 2008, 14:03

de smileys worden nu ook niet gequote, maar ik krijg nu iets als dit --> \":lol:\"

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Re: Afbeeldingen quoten

Bericht door mosymuis » 08 okt 2008, 14:14

ik heb het getest en kan niets vreemds vinden?

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Afbeeldingen quoten

Bericht door Ger » 08 okt 2008, 14:18

Krijg het ook niet gereproduceerd. Logisch ook, want smileys (behoudens die niet van jouw eigen board afkomen) worden niet met img-bbcode geplaatst.

@Mosymuis: je hebt gelijk, ik keek verkeerd.

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Re: Afbeeldingen quoten

Bericht door Bee » 19 okt 2008, 19:32

De fout zoals beschreven door Rinus treed ook bij mij op, zie ook dit topic op mijn forum. Het lijkt erop dat het alleen gebeurd als er een smilie in de gewone tekst staat tussen twee quotes in.
... Maar ik modereer (nog) niet.

Plaats reactie