Προς το περιεχόμενο

επεξεργασια κειμενου php


Vasilis89

Προτεινόμενες αναρτήσεις

Δημοσ.

Θέλω να πέρνω από την βάση δεδομένων το κείμενο και να το κόβω έτσι ώστε να να μπορώ να κάνω echo μόνο ένα μέρος του (την αρχή), όπως δηλαδή γίνετε και στα blogs που στις αρχικές σελίδες υπάρχει ο τίτλος του θέματος, ένα μέρος του θέματος, και για να δείς το υπόλοιπο πατάς σε έναν σύνδεσμο.

Καμιά βοήθεια?

Δημοσ.

Γιατί δεν κόβεις το κείμενο στα 2 πριν το βάλεις στη βάση;

Να έχεις δηλαδή ένα πεδίο intro και ένα πεδίο article πχ.

Ετσι μπορείς να καλείς εύκολα αυτό που θες.

Αλλιώς θα πρέπει να κάνεις strip τα πρώτα γράμματα από το κείμενο που θες.

Δες στο php για την συναρτηση και πως δουλευει, δεν θυμαμαι ακριβως.

Δημοσ.

Για ρίξε μια ματιά στον παρακάτω κώδικα.

 

>
function trimedText($theText, $lmt=500, $s_chr="\n", $s_cnt=2) {
   $pos = 0;
   $trimmed = FALSE;
   
   for ($i = 1; $i <= $s_cnt; $i++) {
       if ($tmp = strpos($theText,$s_chr,$pos)) {
           $pos = $tmp;
           $trimmed = TRUE;
       } else {
           $pos = strlen($theText) - 1;
           $trimmed = FALSE;
           break;
       }
   }
   
   $theText = substr($theText,0,$pos);
   if (strlen($theText) > $lmt) {
       $theText = substr($theText,0,$lmt);
       $theText = substr($theText,0,strrpos($theText,' '));
       $trimmed = TRUE;
   }
   
   if ($trimmed) $theText .= '...';
   return $theText;
}

 

Στην function trimedText περνάς το κείμενο του άρθρου ($theText). Αυτή θα κόψει 500 χαρακτήρες ($lmt) από το αρχικό κείμενο ($theText) ή αν πριν τον 500ο χαρακτήρα εμφανιστεί ο χαρακτήρας "\n" ($s_chr) 2 φορές ($s_cnt).

Βέβαια μπορείς να αλλάξεις τις τιμές των μεταβλητών και να το προσαρμόσεις στα μέτρα σου.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...