Cai*_*der 0 html php string parsing loops
我想循环
来自数据库的HTML字符串中的标签.
例:
$htmlString = "<p>1</p><p>2</p><p>3</p>";
Run Code Online (Sandbox Code Playgroud)
我想循环$htmlString变量并获得1,2,3,如下所示:
1
2
3
Run Code Online (Sandbox Code Playgroud)
我试过这个simplexml_load_string()功能:
$x = "<p>1</p><p>2</p>";
$xml = simplexml_load_string($x);
foreach ($xml->p as $p) {
{
echo $p;
}
}
Run Code Online (Sandbox Code Playgroud)
但它给出了错误:
Warning: simplexml_load_string(): Entity: line 1: parser error : Extra content at the end of the document
Warning: simplexml_load_string(): <p>1</p><p>2</p>
Warning: simplexml_load_string(): ^
Notice: Trying to get property 'p' of non-object
Warning: Invalid argument supplied for foreach()
Run Code Online (Sandbox Code Playgroud)
您应该使用DOMDocument它,它将帮助您更轻松地解析HTML,这是一个示例代码:
<?php
$string = "<p>1</p><p>2</p>";
$domDocument = new DOMDocument();
$domDocument->loadHTML($string);
$paragraphElements = $domDocument->getElementsByTagName('p');
foreach ($paragraphElements as $p) {
var_dump($p->nodeValue);
}
Run Code Online (Sandbox Code Playgroud)
输出:
string '1' (length=1)
string '2' (length=1)
Run Code Online (Sandbox Code Playgroud)