preg_replace voor img

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Stijn

Stijn

14/10/2008 18:27:00
Quote Anchor link
Hallo,

Ik wil alle <img src='AFBEELDING' ... /> tags in een bepaalde tekst vervangen door:

<span style='display: block; width: 500px; max-height: 500px; overflow: auto;' class='forum-img-wrapper'><img src='AFBEELDING' style='border:0px' class='forum-img' /></span>

Hoe kan ik dit doen?
Ik kan namelijk niet werken met regex, want ik leer dit pas volgend jaar op school.

Alvast bedankt!
 
PHP hulp

PHP hulp

24/11/2024 13:37:34
 
Arian Stolwijk

Arian Stolwijk

14/10/2008 18:59:00
Quote Anchor link
Je kan het ook met DOMDocument doen...

of inderdaad een regex in elkaar prutsen..
 
RvW Of toch niet

RvW Of toch niet

14/10/2008 19:06:00
Quote Anchor link
string replace ?
 
Han eev

Han eev

14/10/2008 19:14:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
$input
= preg_replace('#<img src="([^"]+)"([^>]+)\/>#i','Hier je replace maar dan is $1 je image src en $2 de rest van je img prut.',$input);
?>
 
Arian Stolwijk

Arian Stolwijk

14/10/2008 19:15:00
Quote Anchor link
$url = 'http://www.aryweb.nl';

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$doc
= new DOMDocument();
$doc->loadHTMLFile($url);
$images = $doc->getElementsByTagName('img');

foreach($images as $img){
    $span = $doc->createElement('span');
    $doc->appendChild($span);
    $span->setAttribute('style','padding:5px;border:10px solid red;');
    
    $img->parentNode->insertBefore($span,$img);
    $span->textContent = 'Span';
    $span->appendChild($img);
}


echo $doc->saveHTML();
?>


Zo kan het ook nog :P.. misschien niet de beste manier qua performance...*-)
 
Stijn

Stijn

14/10/2008 21:09:00
Quote Anchor link
Bedankt voor de antwoorden.
Zal ze even uittesten :)
 
Stijn

Stijn

14/10/2008 21:41:00
Quote Anchor link
Han schreef op 14.10.2008 19:14:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?PHP
$input
= preg_replace('#<img src="([^"]+)"([^>]+)\/>#i','Hier je replace maar dan is $1 je image src en $2 de rest van je img prut.',$input);
?>


Deze lijkt het beste te werken, maar er zouden nog een paar aanpassingen moeten gebeuren. Sommige img tags van mij eindigen zo:

... src=''>
... src=''/>
... src='' />

Ik dacht dat #<img src="([^"]+)"([^>]+)(\/|\t\/)>#i zou werken, maar blijkbaar niet. Iemand een oplossing?

Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Stijn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.