Ólafur Waage wrote:
I know this isn't exactly a php related question but due to the
quality of answers ive seen lately ill give this a shot. (yes yes im
smoothing up the crowd before the question)
I have a weblog system that i am creating, the trouble is that if a
user links to an external image larger than 500pixels in width, it
messes with the whole layout.
I had found some regex code im using atm but its not good at matching
the entire image tag. It seems to ignore properties after the src
declaration and not match tags that have properties before the src
declaration .
preg_match_all("/\< *[img][^\>]*[src] *= *[\"\']{0,1}([^\"\'\ >]*)/i",
$data, $matches);
print_r($matches);
This currently makes two arrays for me, the source location from all
img tags and a large part of the tag itself. But not the entire tag.
What i do is i match the img tag, find the src, get the image
properties, and if the width is more than 500, i shrink it down and
add width="X" and height="Y" properties to the image tag.
How can i match an image tag correctly so it does not cause any issues
with how the user adds the image.
<style>
#your_content_div img { max-width: 500px !important; }
</style>
OK, so it won't work with IE6. Screw them.
But if the height is set in the img tag it'll keep that, so the image
could become distorted. So, you could also do something like:
#your_content_div img { visibility: none; }
Then run some Javascript routine onload to properly figure the
dimensions of each image. Adjust the width down to 500px, if necessary,
then the height by whatever percent difference between original width
over new width:
var new_height = (original_width / 500) * original_height;
Then, whether you change the dimensions of the image or not, change the
visibility of each to 'visible'.
So, um ... no PHP involved.
brian
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php