Introtext με PHP

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Introtext με PHP

Δημοσίευση από dtravlos » 17 Μάιος 2010 11:19

Καλημέρα και καλή βδομάδα! Μπορείτε να με βοηθήσετε στο πώς μπορώ να εμφανίζω στη σελίδα μου ένα εισαγωγικό κείμενο αντί για το ολόκληρο απο ένα πεδίο της βάσης; Αυτό που σκέφτηκα είναι να φτιάξω κι άλλο πεδίο μόνο γι αυτό το λόγο! Υπάρχει κανένας άλλος τρόπος; Πχ να τραβάω το κανονικό πεδίο του άρθρου και να ορίζω πόσους χαρακτήρες να εμφανίζει;
Ευχαριστώ!

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Introtext με PHP

Δημοσίευση από Basilakis » 17 Μάιος 2010 11:30

http://php.net/manual/en/function.substr.php


Με αυτήν ορίζεις πόσους χαρακτήρες να καλεί...

Σίγουρα μπορείς να κάνεις και με το δεύτερο πεδίο απο τη βάση!

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Introtext με PHP

Δημοσίευση από dtravlos » 17 Μάιος 2010 11:36

Σ ευχαριστώ πολύ για τη βοήθεια!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Introtext με PHP

Δημοσίευση από korgr » 17 Μάιος 2010 14:28

Νομιζω πως το καλυτερο αποτελεσμα το εχουμε (οπως αναφερθηκε) οταν δημιουργουμε ενα extra πεδιο (πχ "minitext") και καταχωρουμε το κομματι του κειμενου που επιθυμουμε, χωρις να κοβεται μερικες φορες σε "αστεια" σημεια.
Αυτο εχω εφαρμοσει και στο www.ktizo.gr στο μινι περιγραφικο κειμενο καθε εταιρειας στα αποτελεσματα αναζητησης.

Αν ομως αυτο δεν ειναι εφικτο, θα προτεινα μια λυση περαν της substr, με την explode. Ετσι θα μπορουμε να οριζουμε πληθος λεξεων και οχι χαρακτηρων.
Για παραδειγμα:

Κώδικας: Επιλογή όλων

function getMinitext($text, $limit){
$minitext = explode(" ", $text, $limit+1);
for&#40;$i=0; $i<$limit; $i++&#41;&#123;$result.=$minitext&#91;$i&#93;." ";&#125;
return $result;
&#125;
$text = $row&#91;description&#93;; // η περιγραφη απο την βαση δεδομενων
echo&#40;getMinitext&#40;$text, 20&#41;&#41;; // εμφάνιση 20 λέξεων της περιγραφης

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Introtext με PHP

Δημοσίευση από dtravlos » 17 Μάιος 2010 14:30

Σ ευχαριστώ πολύ για τη βοήθεια! Αυτό ακριβώς θα χρησιμοποιήσω!

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Introtext με PHP

Δημοσίευση από dva_dev » 17 Μάιος 2010 18:50

Αν και υπάρχει κάπου στο forum (νομίζω σχετικά με το wordpress ήταν το αρχικό ερώτημα) άλλο θέμα με το πως να κόβεις στους Χ χαρακτήρες ή στις Υ λέξεις το κείμενο για να μην το εμφανίζεις ολόκληρο, είμαι κι εγώ υπέρ του να έχεις ένα ξεχωριστό πεδίο, αφού σου δίνει τη δυνατότητα να έχεις αν θέλεις κάποια μικρή περίληψη του άρθρου εντελώς διαφορετική από το κείμενο του άρθρου.
Φυσικά μια βολική λύση θα ήταν, εφόσον δεν συμπληρωθεί το extra πεδίο, να το γεμίζει από το κανονικό άρθρο με τις Χ πρώτες λέξεις όπως δείχνει ο korgr.

(Αν είσαι σε uf8, ίσως χρειαστεί να παίξεις με τις mb_ συναρτήσεις.)

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης