在preg_split之后删除标点符号,并用两个以上的字母大写单词

时间:2012-05-05 00:09:43

标签: php

我有这个preg_split在标点符号后分割文本。

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

问题1 。我找到了分割文本的方法,但删除了其他问号的标点符号。

我该怎么做?

问题2。有没有办法将有两个以上字母的单词大写?现在我使用CSS但文本转换:大写在每个单词上都做,甚至是1个字母单词,这使得它在页面上看起来很时髦。这就是为什么我想用php来做这件事。

非常,非常 希望你能帮忙!

1 个答案:

答案 0 :(得分:0)

问题1:

如果您需要拆分每个pontuation标记但不能替换问号,则需要分两步完成,因为preg_replace也会替换您的问号。

您应该首先拆分然后替换(通过“”)。

你的正则表达式是否按预期工作?根据你的问题,第一部分(?<=)似乎很奇怪。我想只需要/!\?\\./即可。

问题2:

我会使用空格分割您的短语然后迭代结果数组(单词)然后检查每个单词的大小,如果它的大小大于1则将其大写。