Мне удается частично выполнить только одну часть, но я не могу заставить работать вторую часть.
- Если слово содержит
<
4 символа, в конце этого слова следует указывать только *
. - Если слово содержит
>=
4 символа, *
должен быть добавлен в конце, а +
в начале.
Код, который я сделал ...
$string = "This is a short sentence which should include all regex results";
preg_match_all('/\b[A-Za-z0-9]{4,99}\b/', $string, $result);
echo implode("* +", $result[0]);
даст следующие результаты ...
This* +short* +sentence* +which* +should* +include* +regex* +results
в то время как он должен возвращать следующие результаты ...
+This* is* a* +short* +sentence* +which* +should* +include* all* +regex* +results*
PS: я хочу, чтобы это улучшило гибкость полнотекстового поиска для таблиц innodb.