在一个特殊字符串之前剪切字符串并返回其他

时间:2014-07-17 07:01:07

标签: php html

非常简单的问题(我没有发现类似的问题)。

我在字符串中有这个打击HTML代码:

$one = "<html>
<head>
something>
</head>
<body>
</body>
</html>";

如何返回(从<body>开始的地方:

$two = "<body>
</body>
</html>";

我需要找到<body>开始的位置,然后在此之前删除所有内容。

怎么做?

感谢。

4 个答案:

答案 0 :(得分:2)

如何使用strstr()

$one = "<html>
<head>
something>
</head>
<body>
</body>
</html>";

$two =  strstr($one, '<body>');

DEMO

答案 1 :(得分:1)

您需要使用strpos()substr()功能。就我而言,我使用了mb_等价物,因为该网站可能包含非ASCII字符。

mb_internal_encoding('UTF-8');
$pos = mb_strpos($one, '<body>');
if ($pos !== false) {
   $two = mb_substr($one,$pos);
}
else  {
   $two = $one;
}

答案 2 :(得分:1)

$two = substr($one, (strpos($one, '<body>'));

答案 3 :(得分:1)

strip_tags()(php builtin)怎么样?

以下是文档:http://ch1.php.net/strip_tags