You are here: Re: Need regular expression or some easier way to do HTML query string text substitution « PHP Programming Language « IT news, forums, messages
Re: Need regular expression or some easier way to do HTML query string text substitution

Posted by Oli Filth on 09/26/06 23:13

comp.lang.php said the following on 26/09/2006 22:03:
> I am trying to replace within the HTML string $html the following:
>
> [quote]
> <a
> href="index.php?section=image&refAction=edit&previousRefOrig=edit&chooseAlbum=1&album=here&sort=&willDesc=&willDisplayPanel=&action=move_image">Go
> back..</a>
> [/quote]
>
> With
>
> [quote]
> <a
> href="index.php?section=image&refAction=edit&previousRefOrig=edit&chooseAlbum=1&album=here&sort=&willDesc=&willDisplayPanel=&action=edit">Go
> back..</a>
> [/quote]
>
> Where I'm replacing "action=move_image" with "action=<?=
> $_REQUEST['refAction'] ?>"
>
> I'm using regular expressions to do just that, or at least I'm trying:
<...snip...>
> Several class methods spawn the query string before "Go back.." several
> different ways; however, there will always be a "action=[something]"
> within the query string for you to change, just cannot predict where;
> furthermore, there MAY also include "refAction=[something]" within the
> same query string.
>
> How do I do this either with regular expressions or some other way?

IMHO, having multiple methods independently responsible for creating a
complex URL like that, and then having a regular expression to
subsequently "alter" it is likely to be error-prone and a maintenance
nightmare.

I don't know what your exact scenario is, but if I were doing it, I
might maintain an associative array of the GET variables and values e.g.
something like:

class Foo
{
private $variables;

function bar()
{
$variables["section"] = "image";
$variables["refAction"] = "edit";
...
$variables["action"] = "move_image";
}

function fuzz()
{
$variables["section"] = "home";
$variables["refAction"] = "delete";
...
$variables["action"] = "kill_image";
}

function alter_action()
{
$variables["action"] = "edit";
}

function getQueryString()
{
// convert array contents to a query string
}

}


--
Oli

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация