regex een html element
M Ypma
02/03/2008 16:48:00Ik 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:
Hoe vang ik nu de inhoud af?
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)
1
2
3
2
3
<?php $elm = 'p';
preg_match_all( '!<'.$elm.' [^>]*>.*?</'.$elm.'>!si', $this->output, $matches );
print_r( $matches ); ?>
preg_match_all( '!<'.$elm.' [^>]*>.*?</'.$elm.'>!si', $this->output, $matches );
print_r( $matches ); ?>
Hoe vang ik nu de inhoud af?
PHP hulp
24/11/2024 08:15:53Mark PHP
02/03/2008 17:05:00Code (php)
1
2
3
4
5
6
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>';
?>
$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