| |||||||||||
| |||||||||||
preg_replace Posted by dabbler (leah), 18 February 2005 Hi,I'm modifying an existing page which was simply including the output from a perl script. /contactus.php: Code:
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=http://mysite.com/thispage.html, 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: [code]<? $refer = $_GET['refer']; $lines = file("http://mysite.com/cgi-bin/helpdesk/tx.cgi?cmd=newticket"); foreach ($lines as $line) { $find="/xRef/"; $replace = $refer; preg_replace($find,$replace,$line); 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 preg_replace($find,$replace,$line); by $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 www.opentalk.org.uk and
archived here for reference. To jump to the archive index please
follow this link.
|
| ||||||||||
PH: 01144 1225 708225 • FAX: 01144 1225 793803 • EMAIL: info@wellho.net • WEB: http://www.wellho.net • SKYPE: wellho |