Alle <strong> tag's van pagina pakken

Status
Niet open voor verdere reacties.

pianonl

Nieuwe gebruiker
Lid geworden
18 feb 2013
Berichten
4
Hallo,

Ik wil alles pakken van een pagina dat tussen <strong> en </strong> staat.
Wie weet hoe ik dit moet doen?

Zoiets?
PHP:
$url = "http://www.test.nl";
$data = file_get_contents($url);
$count = substr_count($data, 'strong');
$count = $count / 2;

for ( $i=1; $i<=$count; $i++) { 
.....
}
 
PHP:
$data = '<p>Dit is een <strong>vetgedrukt</strong> woord. Die kom je <STRONG>hier</STRONG> ook tegen!</p><p>Zelfs op een nieuwe regel <strong class="example">en</strong> met attributen';
preg_match_all( '/<strong?(.*?)>(.*?)<\/strong>/i', $data, $matches, PREG_PATTERN_ORDER );
var_dump( $matches );
 
Ok, thanks!
Maar het wordt dan een array, of niet?
Hoe kan ik die dan netjes onder elkaar weergeven, zonder die array layout?

PHP:
array(3) {
  [0]=>
  array(3) {
    [0]=>
    string(27) "<strong>vetgedrukt</strong>"
    [1]=>
    string(21) "<STRONG>hier</STRONG>"
    [2]=>
    string(35) "<strong class="example">en</strong>"
  }

EDIT:

Met een normale foreach werkt het ook niet.

PHP:
foreach($matches as $var)
{
    echo $var.'<br />';
}
 
Laatst bewerkt:
Je krijgt een array terug inderdaad, de reden dat ik een "var_dump()" heb gebruikt is zodat je weet wat het resultaat is.

Een foreach zal prima werken, je moet alleen inzien dat $matches een multidimensionale array is:
PHP:
$data = '<p>Dit is een <strong>vetgedrukt</strong> woord. Die kom je <STRONG>hier</STRONG> ook tegen!</p><p>Zelfs op een nieuwe regel <strong class="example">en</strong> met attributen';
preg_match_all( '/<strong?(.*?)>(.*?)<\/strong>/i', $data, $matches, PREG_PATTERN_ORDER );
var_dump( $matches );
foreach( $matches[2] AS $result )
{
	echo $result .'<br />';
}
 
Bedankt! Hij werkt!

PHP:
<?php
$data = '<p>Dit is een <strong>vetgedrukt</strong> woord. Die kom je <STRONG>hier</STRONG> ook tegen!</p><p>Zelfs op een nieuwe regel <strong class="example">en</strong> met attributen';
preg_match_all( '/<strong?(.*?)>(.*?)<\/strong>/i', $data, $matches, PREG_PATTERN_ORDER );
//var_dump( $matches );
foreach( $matches[2] AS $result )
{
    echo $result .'<br />';
}
?>
 
Mooi :)

Zou je de status van je bericht op "Opgelost" willen zetten? :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan