2011-09-21 3 views
0

J'ai un DIV avec hauteur fixe et le texte que je peux faire écho ici est de 100 caractères maximum. Mais ce que je reçois est un texte dynamique. Cela peut également 500 caractères.Réglage de la longueur de la chaîne

Et ce texte peut également contenir des balises html.

Maintenant, je peux simplement prendre les 100 premiers caractères, car il peut couper l'étiquette. Comme

<string> Sample Text Here</st ... 

Et cela fera le contenu du site web complet BOLD.

Quel est le meilleur moyen de le faire?

+0

Vous voulez donc les 100 premiers caractères qui sont en dehors des balises html? par exemple: '

test

' a 4 caractères? –

+0

Ou est-ce que vous voulez les 100 premiers caractères (de texte ** et ** tags), mais étirer ou rétrécir la gamme pour inclure uniquement les paires de balises correspondantes/fermées? Je ne tronque pas au milieu d'une étiquette. – Widor

+0

Vous avez étiqueté PHP et ColdFusion ... que utilisez-vous? –

Répondre

0

Il semble que vous souhaitez supprimer les balises HTML et puis couper les 100 premiers caractères:

#left(reReplace(variables.inputString,'<[^>]+>','','ALL'), 100)# 
0

Peut être comme ça.

<cfset strWithoutTag = rereplace(strWithTag,"<[\/]*\w+[^>]*>","","all")> 
<cfdump var="#strWithoutTag#"> 
<cfset truncStr = left(strWithoutTag,100)> 
<cfdump var="#truncStr#"> 
Questions connexes