Toon posts:

nieuws intro in php

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een soort newsposter B-), alleen wil ik op de voorpagina van de site in klein stukje intro news maken, en als je op lees verder klikt dat je dan het hele bericht ziet, dus als je bv "..." typt in je bericht dat die dan in de intro de rest van de tekst niet weer geeft, is dit mogelijk om hier iets met php te doen ?

als er zoiets al op het forum stond -> |:(

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

|:( dan maar ?

;)

tip: substr

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 13:33

Knutselsmurf

LED's make things better

Maak gewoon 2 invoervelden en plak in het volledige verhaal de stukken aan elkaar.

- This line is intentionally left blank -


Verwijderd

Topicstarter
Dus er kan nix gedaan worden met een replace iets of dat hij ... herkend als een stop teken zodat hij dan stopt met weer geven ?

  • evaarties
  • Registratie: April 2001
  • Laatst online: 09-09 13:46

evaarties

Powerball @ 12.582

Of haal uit elk bericht de eerste 20 tekens of 5 woorden op.

Verwijderd

PHP:
1
2
3
4
5
<?
function showNewsHeader($title) {
    return substr($title,0,strpos($title,"..."))." ...";
}
?>

Zoiets?

  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 13:33

Knutselsmurf

LED's make things better

Op vrijdag 14 september 2001 13:00 schreef Apocalyps het volgende:
Dus er kan nix gedaan worden met een replace iets of dat hij ... herkend als een stop teken zodat hij dan stopt met weer geven ?
Dat kan wel, zoals Dusty al schreef, maar ik denk dat dat trager is dat twee strings achter elkaar plakken.

- This line is intentionally left blank -


Verwijderd

Topicstarter
Op vrijdag 14 september 2001 13:03 schreef Exodus het volgende:
PHP:
1
2
3
4
5
<?
function showNewsHeader($title) {
    return substr($title,0,strpos($title,"..."))." ...";
}
?>

Zoiets?
:)
[newbiemode]
dus als de $titel = "Dit is een lange titel ... maar hier gaat hij verder"

dan geeft hij alleen dit is een lange titel ... weer ?

[/newbiemode]

Verwijderd

Is zo ongeveer het idee :)
dus je vist je volledige titels uit de db, slingert ze door de functie et voila.

iets als :
PHP:
1
2
3
<?
echo showNewsHeader("Dit is mijn lange titel... maar hij is wel heel lang, dus klik maar om de rest te lezen");
?>

Dan laat hij alleen Dit is mijn lange titel ... zien.
Mooier is in principe nog om de hem vanaf de laatste spatie voor bijvoorbeeld teken nummertje 30 af te kappen en aan te vullen met ..., want nu heb je een probleem als je de volledige titel in beeld toont :)

In een gulle bui vandaag, dus daar geef ik je ook wat voor :)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
function stripTitle($title, $max_chars)
                {
                         $t = $title;
                         $title = substr($title, 0, ($max_chars -3));
                         $result = (count_chars($title, 0));
                         if ((substr($title, 0, ($max_chars -3)) < $t) &amp;&amp; (ereg ("[:space:]", $title))) {
                         for ($i=0; $i < (sizeof($result)); $i++) {
                              if (($result[$i]) &amp;&amp; (Chr($i) == " "))  {
                                   $res = strpos($title, " ", $result[$i]);
                                   $res3 = substr($title, 0 ,strlen($title) - strpos(strrev($title), " ", 1));
                              }
                           }
                        return $res3."...";
                        }
                        else {
                              $result = substr($title, 0, ($max_chars -3));
                              $result = $result." ...";
                              return $result;
                        }
                }
?>

Succes d'r mee!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 14 september 2001 13:03 schreef Knutselsmurf het volgende:
Dat kan wel, zoals Dusty al schreef, maar ik denk dat dat trager is dat twee strings achter elkaar plakken.
Als het in een database zit, kan je het met substr (of hoe het ook heet) van die database doen.

Zoveel trager dan 2 losse strings is dat niet. (misschien net meetbaar?)

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
/* Zo uit mijn hoofd...kan vast makkelijker    */
/* en netter maar dit werkt ook                */

# Ergens komt je $titel en de $text vandaan.

$text_array = explode(" ",$text);     // array maken van de text

for(isset($key)=='') $key = 0;         // eerste key voor de array

while ($key < 10) {                    // je wilt dus 11 woorden
    
    $text2write .= " ".$text_array[$key].""; // bouw je intro
    
    $key++;
    
}

echo "<b>".$titel."</b><br>";

echo "<i>Intro :</i>".$text2write."... meer &amp;raquo;";
?>

Verwijderd

Topicstarter
Mag ik uw hartelijk danken!! :) (het is niet de titel die verkleint moet worden maar het bericht dus het maakt niet uit of het hele bericht er niet op komt, maar als er na de ... gewoon nix meer wordt weer gegeven dan kan de poster zelf bepalen wanneer hij het een mooi einde vind voor het intro bericht en als het volledige bericht moet worden weer gegeven dan weet ik wel hoe ik die ... moet weg halen zodat alles aan elkaar komt. damn post 18 alweer *D

Verwijderd

gewoon 3 invoervelden maken, is dat nou zo moeilijk :?
Pagina: 1