【发布时间】:2016-12-31 00:59:46
【问题描述】:
我的代码可以删除任何不超过 3 个字母的单词。
$result = trim( preg_replace
("/[^a-z0-9']+([a-z0-9']{1,3}[^a-z0-9']+)*/i"," ",$_POST['query']));
虽然有问题。首先,我不知道如何允许某些字符(准确地说是波兰语,如 ś、ć、ż 等)。
其次,preg_replace 仅删除位于字符串中间的短词,因此如果字符串是“我喜欢某物”或更糟糕的“我喜欢它”之类的内容,则“我”和“它”会留在这里。唯一可以正常工作的情况是字符串类似于“this is something”(“is”将从字符串中删除)。
【问题讨论】: