By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,053 Members | 1,209 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,053 IT Pros & Developers. It's quick & easy.

ereg_replace replaces to mutch

P: n/a
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.html";
$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
Jul 17 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Chris wrote:
ereg_replace("(tickercontents\[0\]\=)(')(.*)(')","\\1\\2$ersatz\\4",$file1) 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


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

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

Jul 17 '05 #2

P: n/a
Rather than using replace

"Chris" <cm***@gmx.de> wrote in message
news:vq************@corp.supernews.com...
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.html";
$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

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 "tickercontents[".$index++."]='".$message."'";
?>
...
</script>
.....

Good luck!
Christopher
Jul 17 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.