Это то, что я использую:
// strip tags to avoid breaking any html
$string = strip_tags($string);
if (strlen($string) > 500) {
// truncate string
$stringCut = substr($string, 0, 500);
$endPoint = strrpos($stringCut, ' ');
//if the string doesn't contain any space then it will cut without word basis.
$string = $endPoint? substr($stringCut, 0, $endPoint):substr($stringCut, 0);
$string .= '... <a href="/this/story">Read More</a>';
}
echo $string;
Вы можете настроить его дальше, но он выполняет свою работу в процессе производства.
Пожалуйста, посмотрите на следующее обсуждение, я думаю, что вы можете найти там свой ответ:
Спасибо за дополнительную информацию из CoLiNaDE и Navid Rsh , я протестировал еще немного и обнаружил, что добавление этой строки: db.ChangeTracker.DetectChanges();
до db.SaveChanges();
Установка truck.Plan = db.Plan.Find(planID2);
, затем truck.plan_id = truck.Plan.ID;
Установка truck.Plan = null;
затем truck.plan_id = planID2;
Я бы еще раз проверил другие случаи.
С наилучшими пожеланиями,