Que tal? Para cortar el texto podrías usar la función
substr() y luego poner el enlace al final del texto ya cortado. Para que cortes por la cantidad de palabras tendrías que realizar una función (por ej. usando explode()).
Bueno solo son ideas/sugerencias. Saludos y suerte.