3

我正在搜索一个函数来剪切以下字符串并获取之前和之后的所有内容

I need this part<!-- more -->and also this part

结果应该是

$result[0] = "I need this part"
$result[1] = "and also this part"

感谢任何帮助!

4

3 回答 3

9

像这样使用explode()PHP 中的函数:

$string = "I need this part<!-- more -->and the other part.
$result = explode('<!-- more -->`, $string) // 1st = needle -> 2nd = string

然后你调用你的结果:

echo $result[0]; // Echoes: I need that part
echo $result[1]; // Echoes: and the other part.
于 2012-10-16T04:22:30.620 回答
1

您可以使用正则表达式轻松完成此操作。可能有人在为使用正则表达式解析 HTML/XML 而哭泣,但是没有太多上下文,我将给你我所拥有的最好的:

$data = 'I need this part<!-- more -->and also this part';

$result = array();
preg_match('/^(.+?)<!--.+?-->(.+)$/', $data, $result);

echo $result[1]; // I need this part
echo $result[2]; // and also this part

如果您正在解析 HTML,请考虑阅读有关在 PHP 中解析 HTML 的内容。

于 2012-10-16T04:24:06.253 回答
1

使用preg_split。也许是这样的:

<?php
$result = preg_split("/<!--.+?-->/", "I need this part<!-- more -->and also this part");
print_r($result);
?>

输出:

Array
(
    [0] => I need this part
    [1] => and also this part
)
于 2012-10-16T04:27:39.510 回答