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
Python, Lua and Tcl - public course schedule [here]
Private courses on your site - see [here]
Please ask about maintenance training for Perl, PHP, Java, C, C++, Ruby, MySQL and Linux / Tomcat systems

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., 2018: Well House Manor • 48 Spa Road • Melksham, Wiltshire • United Kingdom • SN12 7NY
PH: 01225 708225 • FAX: 01225 793803 • EMAIL: • WEB: • SKYPE: wellho