Neej op die manier kun je het natuurlijk niet zien.
Zie je aan een <img> hoe groot de afbeelding is?
Kijk eens naar getimagesize() :)
Link gekopieerd
ja ik weet wel hoe je kunt kijken hoe groot een afbeelding is maar dan moet je dus wel weten om welke afbeelding het gaat. ik wil dus als iemand met [ img]
http://blabla[/ img] een afbeelding plaatst voordat ie met ergei_replace een <img> van gemaakt wordt controleren hoe groot ie is.
is dat mogelijk?
(beetje vaag uitgelegd hoop dat iemand me begrijpt :S)
Link gekopieerd
Je kan met bijvoorbeeld preg_match() een match opzoeken en die gebruiken ...
Link gekopieerd
F
Frisbee
12-10-2004 17:09
gewijzigd op 12-10-2004 17:26
ja thnx die had ik nodig!! :)
ik heb allen nu weer een probleempje met de volgende code
<?php
$tekst = "hallo [b ]dit[/b ] is [b ]een[/b ] test."; //in het echt zonder spaties
if(preg_match("/\[b\](.+?)\[\/b]/is",$tekst,$matches))
{
//hier wil ik wat controles uitvoeren enzo
}
echo($tekst);
?>
hij pakt nu alleen de eerste
hoe zorg je ervoor dat ie alle [b ] [/b ] eruit haalt en niet alleen de eerste?
Link gekopieerd
Kijk eens op
php.net :)
Mss kun je daar wat vinden, die offset bijvoorbeeld :P
Link gekopieerd
<?php
$tekst = eregi_replace("\\[img]([^\\[]*)\\[/img\\]","<img src=\"\\1\">",$tekst);
?>
Ff een kleinigheid, maar ik dacht dat je bij een img tag altijd een alt moest meegeven... Sorry als ik me vergis, anders is het een leuke tip ;)
Link gekopieerd
Dat is wel zo, maar moeten is alleen het geval als je het HTML valid wilt hebben :)
Link gekopieerd
Mitch schreef op 12.10.2004 19:45
Dat is wel zo, maar moeten is alleen het geval als je het HTML valid wilt hebben :)
Een HTML valid website hebben is altijd leuk meegenomen... Het werkt ook zonder, maar het aanpassen is maar een kleinigheid ;)
Link gekopieerd
F
Frisbee
13-10-2004 14:48
gewijzigd op 13-10-2004 14:52
Het is gelukt met de functie preg_match_all :)
bedankt voor jullie hulp!! ik zocht al heel lang een manier om dit te doen.
zo is m'n script geworden met een voorbeeld tekst. ik ga het gebruiken voor de berichten op een forum.
<?php
$tekst = "Tekst met plaatjes erin [ img]
http://www.phphulp.nl/imgs/header/logo.gif[/ img] a test [ img]
http://www.phphulp.nl/imgs/header/logo.jpg[/ img] [ img]
http://www.pha.jhu.edu/~bingz/background.gif[/ img].";
preg_match_all("|\[img\](.*)\[/img\]|U",$tekst,$out, PREG_PATTERN_ORDER);
foreach($out[1] AS $image)
{
if(!@file($image))
{
$tekst = eregi_replace("\\[img]".$image."\\[/img\\]","<a href=\"".$image."\" target=\"_blank\"><b>Afbeelding niet gevonden</b></a>",$tekst);
}
else
{
$size = getimagesize($image);
if($size[0]<=500)
{
$tekst = eregi_replace("\\[img]".$image."\\[/img\\]","<img src=\"".$image."\" alt=\"".$image."\" />",$tekst);
}
else
{
$tekst = eregi_replace("\\[img]".$image."\\[/img\\]","<a href=\"".$image."\" target=\"_blank\">Grote afbeelding</a>",$tekst);
}
}
}
echo($tekst);
?>
hebben jullie misschien nog tips hoe ik het script kan verbeteren?
allemaal heel erg bedankt!!
edit: in de voorbeeld tekst even spaties in de [ img] gezet.. anders ging ie de plaatjes laten zien :P
edit2: hoe zorg je ervoor dat ie in het bericht je code niet afbreekt??
Link gekopieerd