Toon posts:

[PHP (beginner)]Functies probleem

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

Verwijderd

Topicstarter
Heey,
ik ben niet echt goed met php, maar ook niet dat je zegt van je kan er nix van. Maar ik zit met een probleem.
Ik heb een functie gemaakt voor UBB tags. De ene functie is alleen voor de [i-mg][/i-mg] tags, en eentje om alle links (www.link.nl etc) om te zetten naar klikbare links.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
function UBBimg($bericht) {  
$returnText = "";  
$endtag = "[/img]";  

$untextje = str_replace($endtag,$endtag ."'",$bericht);  
$untextje = explode("'",$bericht);  

foreach($untextje as $str) {  
if(eregi("(\\[img\])(http://[A-Z0-9[:punct:]/\\.-]+)(\\[/img\])", $str, $parts)) {  
$link = $parts[2];  
$info = @getimagesize($link);  

if($info) {  
$breedte = $info[0];  
$hoogte = $info[1];  

if($breedte < 250 && $hoogte < 250){ // Het plaatje is groot genoeg dus laat de orginele maten: 
$str = str_replace("[img]","<img border='0' src='",$str);  
$str = str_replace("[/img]","'>",$str);  
}  
else {  
if($breedte > $hoogte) {  
$width = 250;  
$height = round((250 / $breedte) * $hoogte,0);  
}  
else {  
$height = 250;  
$width = round((250 / $hoogte) * $breedte,0);  
}  

$str = str_replace("[img]","<br /><div align=\"center\"><a href=\"$link\" target=\"_new\"><img border=\"0\" width=\"$width\" height=\"$height\" src=\"",$str);  
$str = str_replace("[/img]","\" alt=\"Klik hier voor een vergroting\"></a></div><br />",$str);  
}  
}  
}  
$returnText .= $str;  
}  

return $returnText;  
}


De bovenstaande functie kijkt of een plaatje breder / langer dan 250px is, en zo ja verkleint hem op de site, maakt er een link naar wat opent in een nieuwe pagina waar het plaatje op orgineel formaat getoond wordt.

PHP:
1
2
3
4
5
6
7
8
9
10
11
function UBBcode($bericht) { 

// [knip] 

$bericht = preg_replace("/(?<!=\S)(?:(https?:\/\/|ftp:\/\/|news:|telnet:)|(www\.))(\S+)/ixe",'"<a href=\"".(strlen("\1") > 0 ? "\1" : "http://")."\2\3\" target=\"_blank\">\1\2\3</a>"',$bericht);  
$bericht = preg_replace("/([^\s]+@[^\s,]+)/",'<a href="mailto:\\1">\\1</a>',$bericht); 

// [knip] 

return $bericht; 
}


Bovenstaande functie zorgt ervoor dat alle links omgezet worden in klikbare links. En hier zit dus het probleem... Omdat je als je een image wilt gebruiken ook een link moet gebruiken. Hierdoor zie ik ipv een image, alleen maar html wat dus niet klopt.

Kan iemand mij helpen om dit te verhelpen? Dus dat overal de links worden omgezet, behalve tussen deze 'speciale' [i-mg] tags?

Alvast bedankt,
Sander

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je bedoelt dus dat je html er uiteindelijk zo uit ziet:

code:
1
[img]"<a[/img]http://link</a>" border="0" width="10" height="10"/>


?

Noushka's Magnificent Dream | Unity


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


Verwijderd

Topicstarter
Michali schreef op 28 december 2003 @ 14:18:
Je bedoelt dus dat je html er uiteindelijk zo uit ziet:

code:
1
[img]"<a[/img]http://link</a>" border="0" width="10" height="10"/>


?
Dit klopt ja. En dat is dus niet de bedoeling :) Weet jij hoe ik dit moet oplossen?
1 topic is voldoende. Maar dat ging over een ander deel.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Verwijderd schreef op 28 december 2003 @ 16:40:
[...]
1 topic is voldoende. Maar dat ging over een ander deel.
Maar als het over dezelfde code gaat hou je het maar lekker in 1 topic hoor, dan is er voor iedereen tenminste overzicht :z

Professionele website nodig?


Dit topic is gesloten.