webForumDet fria alternativet

Vägledning tack!!!!

3 svar · 274 visningar · startad av Fredde Mannen

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#1

Jag fick ett halvt om halvt script av Darren, som jag har gjort om en hel del! Men nu funderar jag på hur jag ska få mitt script att inte dela av ord på mitten som det gör med substr().

<?php
if(!$_REQUEST["sidnr"]) {
$snr = 0;
} else {
$snr = $_REQUEST["sidnr"];
}

define("BREAK_LINE",3000); // Är max antal tecken per sida.
 
$antal_sidor = ceil(strlen($Article) / BREAK_LINE); // Räkna ut antal sidor.

// $Article är en sträng innehållande en nyhet eller artikel som blivit inläst från en databas.

// Skriv ut texten mellan tecken nummer bla bla och tecken nummer bla bla!
echo nl2br(substr($Article,$snr* BREAK_LINE, BREAK_LINE))."<br /><br />"; 

$sidan=$sidnr+1;
if($snr>=0)
	{
	echo "<BR /><font size=\"1\"><CENTER>Sida: [ ";
	for ( $p=1; $p<$antal_sidor+1; $p++ )
		{
		$new_page_counter=$p-1;
		if( $sidan == $p )
			{
			echo "<B>".$p."</B>&nbsp;";
			} else
				{
				echo "<a href=\"".$_SERVER["PHP_SELF"]."?sidnr=".$new_page_counter."\">".$p."</a>&nbsp;";
				}
		}
	echo "]</CENTER></font>";
	}
?>

Sen funderade jag på om det går att dela upp strängen i flera sidor med att ta reda på hur många <br /> som finns, så att ex. det får max finnas 40 </ br> på en sida, finns det fler, blir det en ny sida och resten av strängen skrivs ut!

jag vet dock att man kan ta reda på antalet <br /> i sträng, använder mig av:

substr_count($string,"<br />");

Tror någon att det går att göra så som min tanke gång säger, och om, HUR??? :q

MatteMedlem sedan aug. 20002 975 inlägg
#2

En annan variant för att korta ned en sida är:

$art = wordwrap($Article, 3000, "<¤¤¤¤>", 0);
$art = explode("<¤¤¤¤>", $art);

Nu innehåller varje array-element, i arrayen $art, nästan 3000 tecken (3000 nedkortat till närmaste mellanslag/radbyte).
Nackdelen att använda denna variant för att dela upp på sidor är att den bryter mitt i en mening.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#3

Spelar ingen roll för mig om den bryter mitt i en mening, så länge den inte bryter mitt i ett ord!! :e

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#4

Någon som kan hjälpa mig lite grann på topinlägget??

Fixar inte så att den låter bli att dela ett ord på mitten eller mitt i en html-tag....

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)