1
我有一篇文章,我想要做的是將每個句子保存到我的數據庫中。所以我用來爆炸文字。 ! ?個字符。但是當我這樣做時,我失去了這些角色。如何在不丟失爆炸字符的情況下爆炸字符串?保存爆炸字符
我有一篇文章,我想要做的是將每個句子保存到我的數據庫中。所以我用來爆炸文字。 ! ?個字符。但是當我這樣做時,我失去了這些角色。如何在不丟失爆炸字符的情況下爆炸字符串?保存爆炸字符
您可以使用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) "" }
只要使用使preg_split旗PREG_SPLIT_DELIM_CAPTURE:
$sentences = preg_split(
'/([\?\.\!)/',
$input,
-1,
PREG_SPLIT_DELIM_CAPTURE
);
結果數組$句子將運行作爲陣列(,,。 ..,...)
嘗試使用preg_split代替。 – ngen 2012-02-04 18:56:28
是否有任何理由不能一勞永逸地將其全部保存起來,或以其他方式將其分割爲段落? (例如'explode(PHP_EOL,$ essay);') – mrlee 2012-02-04 18:58:14
這將是* soooo *不可靠(原文如此!)........(<--- 11句子) – 2012-02-04 18:59:05