ereg_replace replaces to mutch

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Chris

    ereg_replace replaces to mutch

    Hello,

    I use a javascript ticker in my header which contains the news in a array
    like that
    tickercontents[0]='Message1'
    tickercontents[1]='Message2'
    tickercontents[2]='Message3'
    now i want to write an easy script that i can run from my server to change
    the message and
    was thinking about something like that

    $replacement = 'New Message1';
    $file = "header.htm l";
    $fh = fopen($file,"r" ) or die("can't open file");
    $file = fread($fh, filesize($file) ) or die("can't read file");
    $replaced =
    ereg_replace("( tickercontents\[0\]\=)(')(.*)(')", "\\1\\2$ersatz\ \4",$file1)
    or die("can't do that sorry");
    ..........
    the only problem is ereg_replace in not stopping at the end high coma in
    message1 it stops at the end high coma of message3.
    I there a way to make it stop after the first one.
    I appreciate any thoughts
    Thanks
    chris


  • Justin Koivisto

    #2
    Re: ereg_replace replaces to mutch

    Chris wrote:
    [color=blue]
    > ereg_replace("( tickercontents\[0\]\=)(')(.*)(')", "\\1\\2$ersatz\ \4",$file1)[/color]
    [color=blue]
    > the only problem is ereg_replace in not stopping at the end high coma in
    > message1 it stops at the end high coma of message3.
    > I there a way to make it stop after the first one.
    > I appreciate any thoughts[/color]

    Try:
    preg_replace("/tickercontents\[0\]='([^']*)'/iU","tickercont ents[0]='$ersatz'",$fi le1);

    --
    Justin Koivisto - spam@koivi.com
    PHP POSTERS: Please use comp.lang.php for PHP related questions,
    alt.php* groups are not recommended.

    Comment

    • ChronoFish

      #3
      Re: ereg_replace replaces to mutch

      Rather than using replace

      "Chris" <cmohn@gmx.de > wrote in message
      news:vqfsc84rd4 u975@corp.super news.com...[color=blue]
      > Hello,
      >
      > I use a javascript ticker in my header which contains the news in a array
      > like that
      > tickercontents[0]='Message1'
      > tickercontents[1]='Message2'
      > tickercontents[2]='Message3'
      > now i want to write an easy script that i can run from my server to change
      > the message and
      > was thinking about something like that
      >
      > $replacement = 'New Message1';
      > $file = "header.htm l";
      > $fh = fopen($file,"r" ) or die("can't open file");
      > $file = fread($fh, filesize($file) ) or die("can't read file");
      > $replaced =
      >[/color]
      ereg_replace("( tickercontents\[0\]\=)(')(.*)(')", "\\1\\2$ersatz\ \4",$file1)[color=blue]
      > or die("can't do that sorry");
      > .........
      > the only problem is ereg_replace in not stopping at the end high coma in
      > message1 it stops at the end high coma of message3.
      > I there a way to make it stop after the first one.
      > I appreciate any thoughts
      > Thanks
      > chris
      >
      >[/color]


      A slight variation of your approach would be to use PHP as the Preprocessor
      that it was designed as. This may not fit your requirements, but you then
      again it may give you something to ponder:

      In "header.php "

      <html>
      ....
      <script>
      ....
      <?PHP
      // Assume you ahve a list of message in the array $messageList
      $index = 0;
      foreach ($messageList as $message)
      print "tickercont ents[".$index++. "]='".$message."' ";
      ?>
      ...
      </script>
      .....

      Good luck!
      Christopher


      Comment

      Working...