regex een html element

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

M Ypma

M Ypma

02/03/2008 16:48:00
Quote Anchor link
Ik probeer een regular expression los te laten op een string, die een html element zoekt en zijn inhoud terug geeft.

Dus de regex op <p attribute="value">test</p> zal test terug moeten geven.

Nu heb ik het volgende maar geeft een lege array terug:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php $elm = 'p';
preg_match_all( '!<'.$elm.' [^>]*>.*?</'.$elm.'>!si', $this->output, $matches );
print_r( $matches ); ?>


Hoe vang ik nu de inhoud af?
 
PHP hulp

PHP hulp

09/05/2021 21:00:41
 
Mark PHP

Mark PHP

02/03/2008 17:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$element
= 'p';
$element = preg_quote($element);
preg_match_all('#\<' . $element . '.*\>(.*)\<\/' . $element . '\>#ismU', $this->output, $matches, PREG_SET_ORDER);
echo '<pre>';print_r($matches);echo '</pre>';
?>

Inhoud van het element staan nu op index 1 van elke row in $matches. Denk eraan dat als je om een of andere reden geneste elementen hebt, je recursie moet gaan gebruiken.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
M Ypma

M Ypma

02/03/2008 17:14:00
Quote Anchor link
@Agirre
Hartelijk dank! Werkt perfect.
 



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.