不要在PHP中使用explode()

时间:2015-06-16 00:33:03

标签: php

有一个HTML文件。(http://stackoverflow.com的来源)

<html><head>
<title>Stack Overflow</title>
<link rel="shortcut icon" href="//cdn.sstatic.net/stackoverflow/img/favicon.ico
?v=6cd6089ee7f6"> ... blablabla

我想基于

划分html文件
<title>Stack Overflow</title>

所以,我确实喜欢这个:

$rex = explode("<title>Stack Overflow</title>",htmlspecialchars($html));
echo $rex[0];

我的期望:

<html><head>

但结果却一无所获。当我删除

<title></title> tags

结果很好。

<html><head><title>

但这不是我想要的。 如何基于html标签划分字符串?

1 个答案:

答案 0 :(得分:0)

explode对于从连续字符串中删除分隔符很有用,而不是用于解析具有不同“分隔符”的整个文档,例如<title><head>等。

explode()的示例:

<?php

$array = explode(':', 'string1:string2:string3');
var_dump($array);

?>

输出将是:

array{[0] => 'string1', [1] => 'string2', [2] => 'string3'}

这不是确切的输出,但你明白了。

您可能要做的是使用file()将HTML文档的每一行加载到一个数组中,然后使用foreach()循环到特定分隔符的每一行explode(),并且找到所需的字符串时break