Training, Open Source computer languages
PerlPHPPythonMySQLApache / TomcatTclRubyJavaC and C++LinuxCSS 
Search for:
Home Accessibility Courses Diary The Mouth Forum Resources Site Map About Us Contact

Posted by dabbler (leah), 18 February 2005
I'm modifying an existing page which was simply including the output from a perl script.

include ("");

Now I need to pass a HTTP_REFERER value through to it to find where the user first clicked the contact button, so I am doing so in the url of contactus.php?refer=, reading the file and trying to use preg_replace to put the value into the form in a hidden field using this in contactus.php:

$refer = $_GET['refer'];

$lines = file("");
foreach ($lines as $line)
     { $find="/xRef/";
           $replace = $refer;
           echo $line;

I don't get any errors, and it displays properly, but looking at the page source, it's not replacing the xRef value and I can't figure out why not, I can echo $refer at the top and can see the value is there. I expect it's just my first experience with preg_replace and I'm doing something silly.

Posted by admin (Graham Ellis), 18 February 2005
preg_replace RETURNS the modified string rather that changing it "in situ".  

Try replacing
   $line = preg_replace($find,$replace,$line);  

Posted by dabbler (leah), 18 February 2005
Ah-hah! That did the trick, thank you Graham!

This page is a thread posted to the opentalk forum at and archived here for reference. To jump to the archive index please follow this link.

You can Add a comment or ranking to this page

© WELL HOUSE CONSULTANTS LTD., 2015: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01144 1225 708225 • FAX: 01144 1225 899360 • EMAIL: • WEB: • SKYPE: wellho