在preg拆分后删除标点符号

时间:2012-02-07 13:00:52

标签: php

我使用此代码在第一个标点符号后分割我的内容,检索第一个句子。

$content = preg_split('/(?<=[!?.])./', $content);

如何删除分割句末尾的剩余标点符号?

5 个答案:

答案 0 :(得分:0)

你可以在这之后运行

$content = ltrim($content, '.');

$content = str_replace('.', '', $content);

答案 1 :(得分:0)

您可以使用:

$content = substr($content, 0, -1);

这将删除$content中的最后一个字符。

答案 2 :(得分:0)

$content = preg_split('/[!?.]/', $content, null, PREG_SPLIT_NO_EMPTY);

答案 3 :(得分:0)

尝试解码!

$test   =   'Ho! My! God!';
    $temp   =   split('!',trim($test,'!'));
    echo "=".__LINE__."=><pre>";print_r($temp);echo "</pre>";
    Array
(
    [0] => Ho
    [1] =>  My
    [2] =>  God
)

答案 4 :(得分:0)

怎么样:

$content = "Hello, world! What's new today? Everything's OK.";
$arr = preg_split('/[!?.] ?/', $content, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);

这会在标点符号!?.上分割,后跟一个选项空格。捕获的字符串不包含前导空格。

与你的不同之处在于我没有注意到标点符号。

<强>输出:

Array
(
    [0] => Hello, world
    [1] => What's new today
    [2] => Everything's OK
)