Toon posts:

[PHP] Het lukt niet? <BR>

Pagina: 1
Acties:

Verwijderd

Topicstarter
Iets heeeeeeeel simpels wil gewoon NIET lukkken bij mij. Ik wil van deze string:
code:
1
document.write("Deze tekst!<br>\n<br>");

Deze tekst! hebben in een aparte variabele.... nu doe ik het volgende met php:
PHP:
1
2
3
4
<?
eregi("(document\.write\(\")(.*)(<br>)", $contents, $out);
echo "1) $out[1] <BR> 2) $out[2] <BR> 3) $out[3]<BR>";
?>

Wat ie dus wel doet is alles vanaf document.write(" geven maar vervolgens wil ie maar niet stoppen bij de eerste <br>... Ik heb echt naar mijn idee alles al geprobeerd. Wie geeft mij het verlossende antwoord? Ik weet dat het vast simpel is maar het lukt echt niet bij mij. :'(

  • jenne
  • Registratie: Juni 2001
  • Laatst online: 22-07 21:02
Waar om doe je niet gewoon:
PHP:
1
2
3
<?
echo "Jajajajajajajajaaj $lala $hihi <br>";
?>

:?

Verwijderd

Topicstarter
Op maandag 17 december 2001 15:15 schreef Decapitator het volgende:
Waar om doe je niet gewoon:
PHP:
1
2
3
<?
echo "Jajajajajajajajaaj $lala $hihi <br>";
?>

:?
Omdat ik dat niet wil? Ik wil dus uit de string " document.write("Deze tekst!<br>\n<br>"); " de text "Deze Tekst!" halen en in een variable zetten.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

:{ je bent niet echt duidelijk.

Wat zijn precies de randvoorwaarden voor de string? Moet het bijvoorbeeld alleen "Deze tekst!" letterlijk matchen, of alles tot aan de eerste "<br>" of alles voor "<br>\n<br>" aan het einde van de string?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Ik wil dus hebben wat tussen de ..write(" en de eesrte <br> staat hebben... sorry als ik niet echt duidelijk ben geweest... :|

  • zakalwe
  • Registratie: Juni 2000
  • Laatst online: 05-06 06:56
-foutje- ik moet beter leren lezen

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Op maandag 17 december 2001 15:37 schreef dj_delta het volgende:
Ik wil dus hebben wat tussen de ..write(" en de eesrte <br> staat hebben... sorry als ik niet echt duidelijk ben geweest... :|
PHP:
1
2
3
4
5
6
7
<?
$firstpart = preg_quote ( "document.write(\"", "/" );
$lastpart  = preg_quote ( "<br>", "/" );

if ( preg_match ( "/$firstpart((.|\n)*)$lastpart/", $m ) )
   print_r ( $m )
?>

en analyseer de uitvoer

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Ik weet het even niet in PHP code, maar wat je moet doen is volgens mij:
1) Hele string (ik neem aan dat je dat javascriptje uit een tabel haalt?) in een variabele zetten.
2) eerste characters aftellen: het is een vaste lengte, document.write(".
3) Vanaf dat punt de rest van de string tot het eerste "<" nemen, en die aan een tweede variabele toewijzen.

Verwijderd

Topicstarter
Op maandag 17 december 2001 15:43 schreef drm het volgende:
PHP:
1
2
3
4
5
6
7
<?
$firstpart = preg_quote ( "document.write(\"", "/" );
$lastpart  = preg_quote ( "<br>", "/" );

if ( preg_match ( "/$firstpart((.|\n)*)$lastpart/", $m ) )
   print_r ( $m )
?>

en analyseer de uitvoer
Goed.. hij poept nu de orginele string weer uit.

Verwijderd

Topicstarter
Okee ik heb nu wat gevonden....

never mind dus... het had volgens mij ook met een simpele rexex gekunt maar ik doe het nu maar zo:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
$firstpart = preg_quote ( "document.write(\"", "/" );
eregi("($firstpart)(.*)(<A.*)", $contents, $out);
$contents = $out[2];
$aantal = strlen($contents);
while ($teller < $aantal )
    {
    if ($contents[$teller] == "<") {
        $teller = 1000;
    }
    else
    {
    $string .= $contents[$teller];
    $teller++;
    }
    }
?>
Pagina: 1