read - replace - output | Wat is overzichtelijk/handig?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Tim H

Tim H

30/06/2010 11:02:38
Quote Anchor link
Hallo allemaal,

Ik ben bezig met een script wat het volgende moet kunnen doen:

- (html)file openen en inhoud in $string zetten
- $string lezen en bepaalde <div id="voorbeeld">..</div> (meerdere div's) er uit filteren
- Inhoud van div lezen en bijvoorbeeld: src="plaatje.jpg" vervangen door src="beterplaatje.jpg". De rest van <img /> moet hetzelfde blijven.
- Output orginele $string + bovenstaande veranderiningen echo'en..

De file wordt inmiddels ingeladen en in $theData gezet.
Nu heb ik het volgende gedaan:

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
18
//    Function to select specific TAG from file
function getTag($string, $tagname, $tagid) {

    $pattern = "/<$tagname class=$tagid>(.*?)<\/$tagname>/";
    preg_match($pattern, $string, $matches);
    
        if (!null==($matches)) {
            
            return $matches[1];
            
        } else {
                        //Niet aangegeven $tagid worden aan array $notUsedTags toegevoegd
            global $notUsedTags;
            $addthis = str_replace('"','',$tagid);
            $notUsedTags[] = $addthis;    
                
        }
} //end


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
//Code to get info from <IMG />
$patternSrc = '/<img.*?src=([\'"])([^"\1]+)\1/i';
preg_match($patternSrc, $string, $matches);
print_r($matches);


De output is dan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
Array
(
    [0] => <img src='http://www.surfstitch.com/images/catalog/live/imageLibrary/FMWHYBGU-ELEMENT-1600T.jpg'
    [1] => '
    [2] => http://www.surfstitch.com/images/catalog/live/imageLibrary/FMWHYBGU-ELEMENT-1600T.jpg
)


Ik wil behoorlijk wat data "on-the-fly" vervangen. Niet alleen data in <IMG /> Wat is nu handig? Gebruik maken van bovenstaande code in soortgelijke vorm of het compleet anders aan te pakken en bijvoorbeeld direct preg_replace te gebruiken?

Snelheid is niet een grote issue, wel stabiliteit.

Heeft iemand hier goede ideeën over? Alvast bedankt voor de moeite..!
 
PHP hulp

PHP hulp

20/04/2024 05:34:07
 
Pim -

Pim -

30/06/2010 11:44:37
Quote Anchor link
Nooit HTML/XML met regexen aanpassen!!!
Met PHP kan je dat met DOMDocument of met SimpleXML doen -> php.net
 
Tim H

Tim H

02/07/2010 12:53:19
Quote Anchor link
Hoi Pim,

Bedankt voor de tip. Ik duik er dieper op in.
 
Arjan -

Arjan -

02/07/2010 13:15:13
Quote Anchor link
Of zoek op htmlpurifier
 



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.