拯救爆炸性格

时间:2012-02-04 18:53:40

标签: php save character explode

我有一篇文章,我想要做的是将每个句子保存到我的数据库中。所以我用爆炸文本。 ! ?字符。但是当我这样做时,我失去了这些角色。如何在不丢失爆炸字符的情况下爆炸字符串?

2 个答案:

答案 0 :(得分:4)

您可以使用PHP的preg_split函数并设置PREG_SPLIT_DELIM_CAPTURE标志。

这将为您提供一个包含句子和分隔符的数组,但是在单独的数组元素中。

<?php
$string="Hello World. Test! Example 123? 456!";
$parts = preg_split("#([!.?])#", $string, -1, PREG_SPLIT_DELIM_CAPTURE);

var_dump($parts);
?>

...将返回以下内容:

array(9) { [0]=> string(11) "Hello World" [1]=> string(1) "." [2]=> string(5) " Test" [3]=> string(1) "!" [4]=> string(12) " Example 123" [5]=> string(1) "?" [6]=> string(4) " 456" [7]=> string(1) "!" [8]=> string(0) "" }

答案 1 :(得分:1)

只需将preg_split与标志PREG_SPLIT_DELIM_CAPTURE一起使用:

$sentences = preg_split(
    '/([\?\.\!)/',
    $input,
    -1,
    PREG_SPLIT_DELIM_CAPTURE
);

结果数组$句子将作为数组运行(,, ...,...)