Alle <p> tags stoppen in een array als losse waarde

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Snelle Jaap

Snelle Jaap

29/09/2016 12:44:56
Quote Anchor link
Ik heb een string met wat paragrafen erin, die wil ik graag per stuk als losse array waarde hebben. Tot nu toe heb ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
$info
= $contentcr[0]['fulltext'];

preg_match_all('%^(<p[^>]*>.*?</p>)$%im', $info, $infoarray);
$infoarrays = $infoarray;

print_r($infoarrays);
?>


Dit is bijvoorbeeld een string:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
<p>Afdeling: Bla &amp; Bla </p>
<
p>Locatie: Stadhuis Rotterdam  Coolsingel 40 Rotterdam</p>
<
p>Klant: Ontwikkelings</p>
<
p>Bedrijf: Rotterdam (OBR)Datum April 2013</p>
?>

Met de bovenstaande code, print hij het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
Array ( [0] => Array ( [0] =>
Bedrijf: Rotterdam (OBR)Datum April 2013

) [1] => Array ( [0] =>
Bedrijf: Rotterdam (OBR)Datum April 2013

) )
?>


Wat doe ik fout?
 
PHP hulp

PHP hulp

29/03/2024 09:56:23
 
Ward van der Put
Moderator

Ward van der Put

29/09/2016 13:08:57
Quote Anchor link
Je kunt de HTML afhandelen als een DOMDocument en daaruit alle <p>-tags verwerken als een DOMNodeList:

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
19
20
21
22
<?php
// HTML
$html = '
    <p>Afdeling: Bla &amp; Bla </p>
    <p>Locatie: Stadhuis Rotterdam  Coolsingel 40 Rotterdam</p>
    <p>Klant: Ontwikkelings</p>
    <p>Bedrijf: Rotterdam (OBR)Datum April 2013</p>
'
;

// DOMDocument
$dom = new DOMDocument;
$dom->loadHTML($html);

// DOMNodeList
$paragraphs = $dom->getElementsByTagName('p');

// Doe iets met de DOMNodeList
echo '<pre>';
foreach ($paragraphs as $paragraph) {
    echo $paragraph->nodeValue, PHP_EOL;
}

?>
 
Snelle Jaap

Snelle Jaap

03/10/2016 11:20:08
Quote Anchor link
Thanks, opgelost!
 



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.