Function in een Function werkt niet..
Hoi ben ik weer,
Ik heb dit probleem normaal altijd anders verholpen maar deze keer heb ik het eigenlijk gewoon nodig. Ik heb 2 functies (UBB en Afkorten). De tekst wordt na 400 worden afgekapt maar ik wil hem ook graag al ge'UBB'd
Kan ik het ook zo doen dat ik kan PARSEN & Inkorten tegelijk?
Ik heb dit probleem normaal altijd anders verholpen maar deze keer heb ik het eigenlijk gewoon nodig. Ik heb 2 functies (UBB en Afkorten). De tekst wordt na 400 worden afgekapt maar ik wil hem ook graag al ge'UBB'd
Kan ik het ook zo doen dat ik kan PARSEN & Inkorten tegelijk?
Gewijzigd op 16/01/2006 17:29:00 door Mark
Denk niet dat het slim is om eerst de functie bb_berict te doen en daarna de functie inkorten aan te roepen. Maar jij vraagt het, dus:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
function lalala ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt); // variabelen buiten de quotes houden!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
$tekst = lalala($obj->bericht, 400);
?>
function lalala ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt); // variabelen buiten de quotes houden!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
$tekst = lalala($obj->bericht, 400);
?>
verklaar je nader over dat het niet slim is,
je oplossing geeft:
niks dus... er komt helemaal niks meer uit.
je oplossing geeft:
niks dus... er komt helemaal niks meer uit.
Sebastiaan:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
function lalala ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt); // variabelen buiten de quotes houden!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
$tekst = lalala($obj->bericht, 400);
?>
function lalala ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt); // variabelen buiten de quotes houden!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
$tekst = lalala($obj->bericht, 400);
?>
De 2 regels in de functie lalala moet dan omgedraaid.
Code (php)
Typo :-)
@sebastiaan... er komt ook niks uit, gewoon standaard tekst
Het is voor een nieuwsysteem die de nieuwste 4 berichten neemt.
Het is voor een nieuwsysteem die de nieuwste 4 berichten neemt.
Hoe zijn je functies gedefineerd dus alleen even de regel met "function bb_bericht en Inkorten" hier posten.
Het lijkt mij niet slim omdat je dan b.v. een html tabel of lijst door de midden hakt met de functie Inkorten. Hierdoor krijg je verkeerde html of een verkeerde layout.
Het lijkt mij niet slim omdat je dan b.v. een html tabel of lijst door de midden hakt met de functie Inkorten. Hierdoor krijg je verkeerde html of een verkeerde layout.
Gewijzigd op 16/01/2006 17:57:00 door Martijn B
Je moet dan even error_reporting(E_ALL); bovenaan je script plakken :-)
Quote:
Hoe zie je dat nou weer in elkaar zitten dan? Wat ingekort wordt is gewoon alleen tekst, gewoon tekst. geen divs, tabellen... Het lijkt mij niet slim omdat je dan b.v. een html tabel of lijst door de midden hakt met de functie Inkorten. Hierdoor krijg je verkeerde html of een verkeerde layout.
Inkorten
Function Inkorten($string, $tekens)
Code (php)
UBB
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
function bb_bericht ($bericht)
{
** codes **
$bericht = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $bericht);
etc.
**codes**
$bericht = nl2br(stripslashes($bericht) );
return $bericht;
}
?>
function bb_bericht ($bericht)
{
** codes **
$bericht = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $bericht);
etc.
**codes**
$bericht = nl2br(stripslashes($bericht) );
return $bericht;
}
?>
En dit werkt wel op een andere site waar ik niet en inkorten en ubb gebruik
Gewijzigd op 16/01/2006 18:22:00 door Mark
En ik krijg niks met error reporting all, ik ga er van uit dat je hem boven aan je pagina plakt met
in de functie inkorten moet je ook een return zetten. Er staat nu een echo en dan geeft hij de string niet terug.
edit: en daarna moet je dan
kunnen doen
edit: en daarna moet je dan
kunnen doen
Gewijzigd op 16/01/2006 18:44:00 door Jan Koehoorn
Dus"
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr("$string", 0, $tekens);
$string = "$string...";
}
return $string;
echo $string;
}
dan geeft hij weer niks aan, ik heb dit nu in totaal boven aan staan, omdat de functie news niet aangeroepen kan worden.
Bovenaan
en dit waar de ingekorte en geparste tekst moet komen:
of....... ik denk dat ik nu 3 antwoorden door elkaar gooi is het niet?
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr("$string", 0, $tekens);
$string = "$string...";
}
return $string;
echo $string;
}
dan geeft hij weer niks aan, ik heb dit nu in totaal boven aan staan, omdat de functie news niet aangeroepen kan worden.
Bovenaan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
require ("mysql_connect.php");
Function Inkorten($string, $tekens)
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr("$string", 0, $tekens);
$string = "$string...";
}
return $string;
echo $string;
}
function news ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt);
}
?>
require ("mysql_connect.php");
Function Inkorten($string, $tekens)
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr("$string", 0, $tekens);
$string = "$string...";
}
return $string;
echo $string;
}
function news ( $txt , $ink=400 ) {
$txt = Inkorten($txt ,intval($ink));
$txt = bb_bericht($txt);
}
?>
en dit waar de ingekorte en geparste tekst moet komen:
of....... ik denk dat ik nu 3 antwoorden door elkaar gooi is het niet?
Gewijzigd op 16/01/2006 18:50:00 door Mark
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?
function Inkorten($string, $tekens)
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr($string, 0, $tekens) . '...';
}
//echo $string;
return $string;
}
function bb_bericht ($bericht)
{
** codes **
$bericht = preg_replace("#[b](.*?)[/b]#si", "<b>\\1</b>", $bericht);
etc.
**codes**
$bericht = nl2br(stripslashes($bericht) );
return $bericht;
}
// functie aanroep
$tekst = bb_bericht(Inkorten($tekst, 400));
?>
function Inkorten($string, $tekens)
{
$aantal = strlen($string);
if($aantal > $tekens)
{
$string = substr($string, 0, $tekens) . '...';
}
//echo $string;
return $string;
}
function bb_bericht ($bericht)
{
** codes **
$bericht = preg_replace("#[b](.*?)[/b]#si", "<b>\\1</b>", $bericht);
etc.
**codes**
$bericht = nl2br(stripslashes($bericht) );
return $bericht;
}
// functie aanroep
$tekst = bb_bericht(Inkorten($tekst, 400));
?>
Gewijzigd op 16/01/2006 19:24:00 door Martijn B
...niks maar wat heb je veranderd aan de parser?
Ok, tijd voor een voorbeeldje:
Meer is het niet...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
function test1( $parameter1 )
{
// Doe hier iets met $parameter1
$parameter1 .= 'fdsfsdf';
// Geef $parameter1 terug als resultaat
return $parameter1;
}
function test2( $parameter1, $parameter2 )
{
// Doe hier iets met $parameter1 en / of $parameter2
$resultaat = $parameter1 . $parameter2;
// Geef het resultaat terug
return $resultaat;
}
$iets = 'fsdfsdfsdfwrvcv-';
$iets = test1(test2($iets, 'fdsfsdf'));
echo $iets;
?>
function test1( $parameter1 )
{
// Doe hier iets met $parameter1
$parameter1 .= 'fdsfsdf';
// Geef $parameter1 terug als resultaat
return $parameter1;
}
function test2( $parameter1, $parameter2 )
{
// Doe hier iets met $parameter1 en / of $parameter2
$resultaat = $parameter1 . $parameter2;
// Geef het resultaat terug
return $resultaat;
}
$iets = 'fsdfsdfsdfwrvcv-';
$iets = test1(test2($iets, 'fdsfsdf'));
echo $iets;
?>
Meer is het niet...
Gewijzigd op 16/01/2006 19:37:00 door Martijn B
als het goed is, zo dus:
en anders..... dan geen ubb of geen inkorten bericht
Code (php)
en anders..... dan geen ubb of geen inkorten bericht
Gewijzigd op 16/01/2006 20:08:00 door Mark
Masterlijk, eindelijk het werkt.
Super bedankt!
Super bedankt!




