---
title: "Gå igenom en text och ändra bildstorlek"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/90716-gå-igenom-en-text-och-ändra-bildstorlek"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Webslave"
published: "2003-11-18T17:19:03.000Z"
updated: "2003-11-19T19:56:11.000Z"
replies: 11
views: 359
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/90716-gå-igenom-en-text-och-ändra-bildstorlek"
---

# Gå igenom en text och ändra bildstorlek

## #1 — Webslave, 2003-11-18T17:19Z

Jag har postat om det här ridigare och fått svar på det som jag frågade om då, nu har jag en ny fråga som rör samma moment men inte direkt hör ihop med den första frågan... därav ny tråd.

Problem:
Vill loopa igenom en text och ändra storlek på en bil om den är för stor... det funkar förutom att när den ändrat storleken på den första bilden så gäller samma för alla andra... oavsett deras storlek. Har ni några idéer om hur koden borde ändras?

Koden nu

```php
<?PHP
$text = "[ IMG]url_till_bild[/ IMG]";
preg_match("'\[IMG\](.*?)\[\/IMG\]'",$text,$url);
$imageSize = getimagesize($url[1]);
if($imageSize[0]>400){
    $divideBy = ($imageSize[0]/400);
    $width = 400;
    $height = ceil($imageSize[1]/$divideBy);
}
else{
    $width = $imageSize[0];
    $height = $imageSize[1];
}
?>
```

Permalänk: https://www.webforum.nu/p/90716

## #2 — Matte, 2003-11-19T01:13Z

Testa det här:

```php
<?php

$text = "[ IMG]url_till_bild[/ IMG]";
preg_match_all("'\\[IMG](.*?)\\[/IMG]'i",$text,$url);

foreach ($url[0] as $key => $val) {

   $imageSize = getimagesize($url[1][$key]);

   if($imageSize[0]>400){
      $divideBy = ($imageSize[0]/400);
      $width = 400;
      $height = ceil($imageSize[1]/$divideBy);
   } else {
      $width = $imageSize[0];
      $height = $imageSize[1];
   }

   $text = preg_replace($val, "<img src=\"$url[1][$key]\" width=\"$width\" height=\"$height\">", $text); 

}

?>
```

Permalänk: https://www.webforum.nu/p/1207653

## #3 — Webslave, 2003-11-19T13:46Z

```
Warning: Unknown modifier 'h' in /home/virtual/marilynmanson.se/public_html/get/textStyle.php on line 14
```

Line 14:

```php
$text = preg_replace($val, "<img src=\"$url[1][$key]\" width=\"$width\" height=\"$height\">", $text);
```

Permalänk: https://www.webforum.nu/p/1210805

## #4 — Matte, 2003-11-19T15:20Z

Testa med att köra addslashes först:

```
$text = preg_replace(addslashes($val), ...
```

Permalänk: https://www.webforum.nu/p/1210877

## #5 — Webslave, 2003-11-19T16:54Z

Nope... vill inte. Samma felmeddelande.

Permalänk: https://www.webforum.nu/p/1210927

## #6 — Matte, 2003-11-19T17:25Z

Ok. Testa det här:

```php
foreach ($url[0] as $key => $val) {

   $imageSize = getimagesize($url[1][$key]);

   if($imageSize[0]>400){
      $divideBy = ($imageSize[0]/400);
      $width = 400;
      $height = ceil($imageSize[1]/$divideBy);
   } else {
      $width = $imageSize[0];
      $height = $imageSize[1];
   }

   $replace = "<img src=\"{$url[1][$key]}\" width=\"$width\" height=\"$height\">";
   
   $text = str_replace($val, $replace, $text); 

}
```

Permalänk: https://www.webforum.nu/p/1210940

## #7 — Webslave, 2003-11-19T17:40Z

Ok.... det funkar om jag endast kör koden men om jag kör koden på sidan så vill den inte sätta något värde på $height och $width... några tips?

Permalänk: https://www.webforum.nu/p/1210946

## #8 — Matte, 2003-11-19T18:41Z

Vad är skillnaden mellan att köra koden, och köra koden på sidan ?

Kan du visa hur du försöker använda den då det inte fungerar.

Är det någon skillnad om du försöker skriva en sökväg lokalt, eller en sökväg med <http://> ?

Permalänk: https://www.webforum.nu/p/1210983

## #9 — Webslave, 2003-11-19T18:57Z

```php
if(!($row['uPresentation']=="")){
			$text = $row['uPresentation'];
			require("get/textStyle.php");
			echo nl2br($text);
		}
```

... den finns i textStyle.php precis som den ser ut när du skrev den sist.

Och sökvägen är densamma (http//). Det som är skillnaden är väll att $text innehåller en massa mer saker... men det borde väll inte spela någon roll... eller? Förstår bara inte hur de kan bli tomma... antingen är $imageSize\[0\] större eller lika med/mindre än 400... bah!

Permalänk: https://www.webforum.nu/p/1210992

## #10 — Webslave, 2003-11-19T19:47Z

Ok... märkte att det funkade inte på den bild jag testade med... men ett par andra funkade det med... skumt.

Permalänk: https://www.webforum.nu/p/1211019

## #11 — Matte, 2003-11-19T19:49Z

Anledningen till att jag frågade om 'http' är att det är inte alla servrar som tillåter att man med PHP öppnar filer på andra servrar (läs med http...).

Hittade följande i manualen

> Some formats may contain no image or may contain multiple images. In these cases, getimagesize() might not be able to properly determine the image size. getimagesize() will return zero for width and height in these cases.

 
Vet ej vad detta innebär på t.ex jpeg-bilder med inbyggd thumbnail.

Permalänk: https://www.webforum.nu/p/1211020

## #12 — Webslave, 2003-11-19T19:56Z

Märkte att det är på en alla mina jpeg bilder (på min server) men alla andra verkar det som det funkar för... kan det vara något med hur jag spara mina filer?

Permalänk: https://www.webforum.nu/p/1211024

---

Tråden på webben: https://www.webforum.nu/amne/php/90716-gå-igenom-en-text-och-ändra-bildstorlek
