Versio

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

Overzicht Reageren

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

25/05/2012 14:11:17
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
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

Get Adobe Flash player