preg_replace example

Lets say I have a variable with

$this = '/field1/12345678/field1'

how do I write it so that I can replace 12345678 with something else

field1 and field2 may always be something different
LVL 1
cbielichAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Terry WoodsIT GuruCommented:
This should do it:

$this = '/field1/12345678/field1'
$result = preg_replace("#^(/[^/]*/)[^/]*#","$1new value",$this);
0
Terry WoodsIT GuruCommented:
Tested and working:

$text = '/field1/12345678/field1';
$result = preg_replace("#^(/[^/]*/)[^/]*#","$1new value",$text);
print "Result: $result\n";

Output:
Result: /field1/new value/field1

I forgot the semi-colon on the first line, and "$this" can't be used as it's a reserved variable name.
0
Terry WoodsIT GuruCommented:
Explanation: This part of the pattern:
^(/[^/]*/)
captures /field1/ and is used in the replacement as $1

Just change "new value" to the value you want to use instead of 12345678
0
Ray PaseurCommented:
field1 and field2 may always be something different  Eh? There is no "field2" in the example.

If the string is delimited with the slash character you might consider using explode() to break it apart.  Not sure how many times you need to do this, but explode() might be a tad faster than a regex.  Just a thought...
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cbielichAuthor Commented:
Much faster way to do it thanks
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PHP

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.