[PHP] eigen functie

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Hoi,
Ik heb een korte functie geschreven in php, die een $string als input neemt en dan alle enters er uit zou moeten halen. Ik neem een functie omdat ik het in meerdere pagina's nodig heb en de originele file leesbaar moet blijven voor mij.
Als ik em test en em echo doettie het op het scherm wel, maar doe ik "View Source" dan staan de enters er nog steeds... Ik wil mun source dus juist moeilijker te lezen maken door deze functie, maar het werkt dus somehow niet.

Dit is de functie:
code:
1
2
3
4
5
function stripit($striptxt) {
$striptxt = str_replace($striptxt, "\n", "");
$striptxt = str_replace($striptxt, "\t", "");
return $striptext;
}


ik roep em op deze manier aan:
code:
1
echo stripit(include("te-strippen-bestand.js"));


Wat doe ik fout???!

edit:
Sjit, titel niet goed bij dit bericht... hmm MODJE~!!! ;) ... (misschien toch meer als 4 uur slapen op de 50)
edit2:
returnwaarde had ik ook al geprobeerd :P Nogmaals, op scherm doettie het, maar in source niet.

[ Voor 24% gewijzigd door Ulysses op 04-11-2003 22:00 ]

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • Rickets
  • Registratie: Augustus 2001
  • Niet online

Rickets

Finger and a shift

Je mist een return waarde :)

If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.


Acties:
  • 0 Henk 'm!

Verwijderd

Misschien staan er nog \r in je source. Strip die er ook uit.

@Rickets: hmm, ok, dat ook :P

[ Voor 22% gewijzigd door Verwijderd op 04-11-2003 21:57 ]


Acties:
  • 0 Henk 'm!

  • commeric
  • Registratie: November 2002
  • Laatst online: 14-08 22:32
Je moet \r er ook uit strippen:)

[ Voor 0% gewijzigd door commeric op 04-11-2003 21:59 . Reden: er waren er dus al wat mensen voor mij :) ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik weet niet zeker of die include op die plaats werkt, maar iig mis je
return $striptxt;

Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Ook met \r zelfde resultaat.

code:
1
2
3
4
5
6
7
8
9
10
<?
// strip breaklines
function stripit($striptxt) {
$striptxt = str_replace($striptxt, "\n", "");
$striptxt = str_replace($striptxt, "\t", "");
$striptxt = str_replace($striptxt, "\r", "");
return $striptxt;
}
echo stripit(include("te-strippen-txt.js."));
?>

[ Voor 84% gewijzigd door Ulysses op 04-11-2003 22:05 ]

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • Apache
  • Registratie: Juli 2000
  • Laatst online: 16-09 10:29

Apache

amateur software devver

mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])

If it ain't broken it doesn't have enough features


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Apache schreef op 04 november 2003 @ 22:03:
mixed str_replace ( mixed search, mixed replace, mixed subject [, int &count])
Okay, wat bedoel je hiermee precies? (sorry... _/-\o_)

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • W4rlock
  • Registratie: Februari 2002
  • Laatst online: 04-12-2014
Ik was hier toevallig ook mee bezig, onderstaande code werkt iig goed bij mij :)

code:
1
2
3
function removeStuff($data) {
  return preg_replace(array("([\r\n]+)", "([\s]+)", "([\t]+)"), " ", $data);
}


- edit -

voor alle duidelijkheid, dit haalt ook overbodige tabs en spaties weg

[ Voor 26% gewijzigd door W4rlock op 04-11-2003 22:10 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ulysses schreef op 04 november 2003 @ 22:04:
[...]

Okay, wat bedoel je hiermee precies? (sorry... _/-\o_)
dat geeft aan in welke volgorde je je parameters naar str_replace moet slingeren. Kijk eens naar de voorbeelden

Acties:
  • 0 Henk 'm!

Verwijderd

code:
1
2
3
4
5
6
7
8
9
10
<?
// strip breaklines
function stripit($striptxt) {
$striptxt = str_replace($striptxt, "\n", "", $striptxt);
$striptxt = str_replace($striptxt, "\t", "", $striptxt);
$striptxt = str_replace($striptxt, "\r", "", $striptxt);
return $striptxt;
}
echo stripit(include("te-strippen-txt.js."));
?>


Dit moet werken? _/-\o_

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

die include() is helemaal verkeerd.

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

Verwijderd

oja, zie ik ook net pas,

Je kan niet zo een bestand includen om te bewerken.
Dit moet je met FOPEN enzo doen.
www.php.net/fopen

[ Voor 18% gewijzigd door Verwijderd op 04-11-2003 22:14 ]


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
<?

// strip breaklines
function stripit($striptxt) {
  return preg_replace(array("([\r\n]+)", "([\s]+)", "([\t]+)"), " ", $striptxt);
}

$tostrip = include("menu_head.js.php");
echo stripit($tostrip);
?>


en nog werkt het niet! :'(

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Okay, ik weet dat dit niet de manier is om het te vragen, maar toch, alsjeblieft, vertel mij hoe ik mijn hele kleine scriptje moet maken en oproepen want ik snap dat fopen ook niet genoeg, ik krijg dan n.l. als output "resource blabla"....

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

Verwijderd

*niet getest* maar probeer dit eens:
code:
1
2
3
4
5
6
7
8
9
10
<?

// strip breaklines
function stripit($striptxt) {
  return preg_replace(array("([\r\n]+)", "([\s]+)", "([\t]+)"), " ", $striptxt);
}

$tostrip = fopen ("menu_head.js.php", "r");
echo stripit($tostrip);
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Nee, include doet ook helemaal niet wat je denkt dat het doet. Met include() leest de PHP engine het bestand in, en parset de PHP code in het bestand.

Jij zoekt fopen() en fread(), of file(). Daarmee kun je de inhoud van een bestand in een variabele zetten.

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

zucht...
lees de manual!
zoek eens naar fopen(), fread() en fclose()

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Include returned alleen wat wanneer je een php bestand include met een return opdract erin, anders echoed hij de text die in de te includen bestand staat.

Ik denk dat je de functie zo beter kunt gebruiken:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
// strip breaklines
function stripit($striptxt) {
    $striptxt = str_replace($striptxt, "\n", "");
    $striptxt = str_replace($striptxt, "\t", "");
    $striptxt = str_replace($striptxt, "\r", "");
    return $striptxt;
}

$tekst = '';

$fp= fopen ('te-strippen-txt.js'.'r');
while (!feof ($fp))
    $tekst .= fgets($fp, 4096);
fclose ($fp);

echo stripit($tekst);
?>
...dacht ik zo :)
edit:
Sjit... te lang met bezig geweest...

[ Voor 14% gewijzigd door Slagroom op 04-11-2003 22:29 ]


Acties:
  • 0 Henk 'm!

Verwijderd

nog makkelijker:
PHP:
1
echo stripit(join('',file("te-strippen-txt,js")));

Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Verwijderd schreef op 04 november 2003 @ 22:30:
nog makkelijker:
PHP:
1
echo stripit(join('',file("te-strippen-txt,js")));
Weer wat geleerd! :)

Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Hè dammit... de meeste vage db-zooi kan ik wel maar zo'n simpel klein functietje loopt niet.... Hmmmm
B.t.w. ik had al gekeken in de manual maar zag niet zo snel wat ik zocht...

Maargoed, ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
11
<?
// strip breaklines
function stripit($striptxt) { 
    $striptxt = str_replace($striptxt, "\n", ""); 
    $striptxt = str_replace($striptxt, "\t", ""); 
    $striptxt = str_replace($striptxt, "\r", ""); 
    return $striptxt; 
} 

echo stripit(join('',file("menu_head.js.php")));
?>


en nu laat iet ook op het scherm nix zien

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
okat, ik ga maar weer es een keertje slapen nu. Misschien dat ik morgen met een frisse kijk op de zaak en dankzij jullie geweldige support er wel zo uit kom. I.i.g. tot zover al bedankt, maar ik zie graag nog meer ideetjes natuurlijk.
Bedankt en weltrusten iedereen, !
Owjah als iemand het boeit, het gaat om deze site:

[ Voor 16% gewijzigd door Ulysses op 04-11-2003 22:57 ]

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.


Acties:
  • 0 Henk 'm!

  • Slagroom
  • Registratie: Juni 2001
  • Laatst online: 05-10-2024
Ulysses schreef op 04 november 2003 @ 22:41:
Hè dammit... de meeste vage db-zooi kan ik wel maar zo'n simpel klein functietje loopt niet.... Hmmmm
B.t.w. ik had al gekeken in de manual maar zag niet zo snel wat ik zocht...

Maargoed, ik heb nu dit:
code:
1
2
3
4
5
6
7
8
9
10
11
<?
// strip breaklines
function stripit($striptxt) { 
    $striptxt = str_replace($striptxt, "\n", ""); 
    $striptxt = str_replace($striptxt, "\t", ""); 
    $striptxt = str_replace($striptxt, "\r", ""); 
    return $striptxt; 
} 

echo stripit(join('',file("menu_head.js.php")));
?>


en nu laat iet ook op het scherm nix zien
Include hij nu ook niet de php source?

Werkt hij ook niet met mijn code?

Acties:
  • 0 Henk 'm!

  • mboy
  • Registratie: December 2001
  • Laatst online: 20-06-2024
Maar volgens mij gebruik je str_replace niet helemaal goed.... Volgens mij moet het zo zijn:

code:
1
$striptxt = str_replace("\n", "", $striptxt);


Edit: Dat is trouwens al eerder gezegd :)

[ Voor 20% gewijzigd door mboy op 04-11-2003 23:00 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb dat ook al gezegt maar kennelijk leest ie niet alles goed door?

Acties:
  • 0 Henk 'm!

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 17-09 08:05
Wist je dat dit ook werkt? (sinds php 4.0.6)

PHP:
1
2
3
4
// strip breaklines
function stripit($striptxt) { 
    return  str_replace(array("\r","\n","\t"), array('','',''),$striptxt); 
}

Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?

// strip breaklines
function stripit($striptxt) {
  return preg_replace(array("([rn]+)", "([s]+)", "([t]+)"), " ", $striptxt);
}

$filename = getenv("DOCUMENT_ROOT") . "/te-strippen-bestand.js";
$file = fopen ($filename, "r");
$tostrip = fread($file, filesize($filename));
fclose($file);
echo htmlspecialchars(stripit($tostrip));
?>

Dit werkt bij mij inelkgeval, laat gewoon de code zien zonder enters. }:O

[ Voor 26% gewijzigd door Verwijderd op 04-11-2003 23:21 ]


Acties:
  • 0 Henk 'm!

  • Ulysses
  • Registratie: Oktober 1999
  • Niet online
Yes! Eindelijk werkt het zoals die hoort!!! :) :)
Hartstikke bedankt voor de hulp iedereen.... _/-\o_ Ik denk dat het feit dat ik net ff geslapen heb ook aardig mee hielp :P :+

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<? 

// strip breaklines 
function stripit($filename) { 

$file = fopen ($filename, "r"); 
$tostrip = fread($file, filesize($filename)); 
fclose($file); 
  return preg_replace(array("([\n]+)", "([\s]+)", "([\t]+)", "([\r]+)"), " ", $tostrip); 
} 

echo stripit("bestandje.js"); 
 
?> 


edit: functie iets mooier gemaakt.

[ Voor 46% gewijzigd door Ulysses op 05-11-2003 09:51 ]

Het leven is als koffie: heel lekker, maar veel te duur en zo weer op.

Pagina: 1