Toon posts:

IMG Resize via BB code

Pagina: 1
Acties:
  • 136 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik zou graag de/een source hebben om images via BB te kunnen resizen (zoals op Fok! en ?hier?).

resizen als volgt:

[ IMG=800,600]urlvandefoto[/ IMG]

  • user109731
  • Registratie: Maart 2004
  • Niet online
Welke taal gebruik je? Wat heb je zelf al geprobeerd of opgezocht, en waar kom je niet uit?

Ik zou een (stack-based) parsertje schrijven, die dit omzet naar een img-tag :) Desnoods gdlib (ik ga maar van php uit) gebruiken om je afbeeldingen serverside te verkleinen.

Download anders eens zoiets en kijk hoe zij dat doen :)

Verwijderd

Topicstarter
ik gebruik het in PHP, dit heb ik al, voor gewoon een image te centreren en te plaatsen:
code:
1
 $bericht = preg_replace("/\\[img\](.*?)\\[\/img\]/si", "<center>[img]\"\\1\"[/img]</center>",$bericht);

  • Patriot
  • Registratie: December 2004
  • Laatst online: 15:27

Patriot

Fulltime #whatpulsert

PHP:
1
2
3
4
5
6
7
<?php

$string = "[img=400,300]http://www.foo.bar/img.ext[/img]";

echo preg_replace("/\\[img\=(.*),(.*)\](.*)\\[\/img\]/si", "[img]\"$3\"[/img]", $string);

?>


Zo?

[ Voor 20% gewijzigd door Patriot op 07-06-2006 14:55 ]


Verwijderd

Topicstarter
Patriot schreef op woensdag 07 juni 2006 @ 14:55:
PHP:
1
2
3
4
5
6
7
<?php

$string = "[img=400,300]http://www.foo.bar/img.ext[/img]";

echo preg_replace("/\\[img\=(.*),(.*)\](.*)\\[\/img\]/si", "[img]\"$3\"[/img]", $string);

?>


Zo?
zoiets zou het moeten zijn, maar doe ik het dan 2x achter elkaar (met jouw functie)
code:
1
2
[img=400,300]http://www.foo.bar/img.ext[/img]
[img=400,300]http://www.foo.bar/img.ext[/img]


dan geeft ie het weer normaal, mss ergens slecht afgesloten ofzo?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

expressies ungreedy maken

* crisp schop dit topic naar Programming

Intentionally left blank


  • Patriot
  • Registratie: December 2004
  • Laatst online: 15:27

Patriot

Fulltime #whatpulsert

Wat voor source geeft hij dan?

EDIT: Ok, ungreedy.. whatever, zo goed ben ik dan weer niet :P

EDIT2:

PHP:
1
2
3
4
5
6
7
<?php

$string = "[img=400,300]http://www.foo.bar/img.ext[/img]";

echo preg_replace("/\\[img\=(.*?),(.*?)\](.*?)\\[\/img\]/si", "[img]\"$3\"[/img]", $string);

?>


Zo dan?

[ Voor 111% gewijzigd door Patriot op 07-06-2006 15:13 ]


Verwijderd

Topicstarter
Het is me gelukt met Patriot's hulp:

voor een gewone img:
code:
1
$bericht = preg_replace("/\\[img\](.*?)\\[\/img\]/si", "<center>[img]\"\\1\"[/img]</center>",$bericht);


voor een img tag met hoogte en breedte (mss moet ik die nog omdraaien (2 en 1))
code:
1
$bericht = preg_replace("/\\[img\=(.*?),(.*?)\](.*?)\\[\/img\]/si", "[img]\"\\3\"[/img]",$bericht);

  • Patriot
  • Registratie: December 2004
  • Laatst online: 15:27

Patriot

Fulltime #whatpulsert

Je moet toch $1, $2 en $3 gebruiken? Of is dat PHP5?

Verwijderd

Topicstarter
Patriot schreef op woensdag 07 juni 2006 @ 15:14:
Je moet toch $1, $2 en $3 gebruiken? Of is dat PHP5?
sorry, ben niet thuis in PHP5 :/
ps= [noob]wat betekent die "ungreedy maken"?[/noob]

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Stop AI Slop

Mag ik nog even lichtelijk offtopic gaan en melden dat je afbeeldingen op deze manier niet resizet, enkel kleiner of groter weergeeft?

Wanneer je afbeeldingen écht wilt resizen (om bandbreedte) moet je het in een heel andere hoek gaan zoeken.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Topicstarter
CodeCaster schreef op woensdag 07 juni 2006 @ 15:19:
Mag ik nog even lichtelijk offtopic gaan en melden dat je afbeeldingen op deze manier niet resizet, enkel kleiner of groter weergeeft?

Wanneer je afbeeldingen écht wilt resizen (om bandbreedte) moet je het in een heel andere hoek gaan zoeken.
sorry, je hebt gelijk, verkeerde woordkeuze. Die resize zal er ook nog wel ooit van komen om foto's te uploaden.

  • Brons
  • Registratie: April 2002
  • Laatst online: 06-02 22:13

Brons

Fail!

Verwijderd schreef op woensdag 07 juni 2006 @ 15:16:
[...]


sorry, ben niet thuis in PHP5 :/
ps= [noob]wat betekent die "ungreedy maken"?[/noob]
Greedy wil zeggen dat de regular expression de langst mogelijke string matched. Google maar eens op greedy regex of greedy regular expression

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:49

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op woensdag 07 juni 2006 @ 15:16:
[...]


sorry, ben niet thuis in PHP5 :/
ps= [noob]wat betekent die "ungreedy maken"?[/noob]
Hmjja.. dat je ergens niet thuis in bent is geen excuus, probeer je dan er in elk geval in te verdiepen. De vraag zoals je die nu stelt is eigenlijk not done hier. We gaan er hier vanuit dat je in eerste instantie zelf het 1 en ander gaat proberen VOORDAT je hier een topic opent. Als je dan ook nog aangeeft welke zaken je nu al precies hebt geprobeerd voorkomt dat ook weer advies waar je niks aan hebt. Zie ook Programming Beleid - De Quickstart.

Als je hier een volgende keer op wilt letten :)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 14:32
Hmm, kun je dat resizen dan niet beter bij de upload al doen?

Dynamisch resizen van images lijkt me niet de meest efficiente manier om je CPU cycles te verbruiken. En het zal waarschijnlijk in memory plaats vinden. Dus daar heb je meer van nodig.

Overigens zijn er hele mooie commandline tooltjes onder *nix die dit voor je kunnen regelen. Ken PHP niet, maar daar moet vast iets mee te doen zijn.
Pagina: 1