Я нашел этот код, который будет соответствовать не более 300 символов, затем перерыв на следующий ближайший словесного перерыв:разбить строку после некоторых символов с preg_match
$var = 'This is a test text 1234567890 test check12.' # 44 chars
preg_match('/^.{0,300}(?:.*?)\b/iu', $var, $matches);
echo $matches[0];
44 ниже, чем 300, так что я ожидаю выход быть таким же, как $ var.
Но выход:
This is a test text 1234567890 test check12 # 43 chars
$ матчей [0] не дает мне точку в конце, однако $ вар делает. Кто-нибудь может сказать мне, как получить полную строку (с точкой)?
'*' означает 0 или больше. «+» означает 1 или более. – thetaiko