Jump to content

find & replace when substr does not contain $id??


Recommended Posts

Hello RegExperts!

 

I hope this makes sense and you guys can help me out.

 

I have a few db entries which that look like this:

$id=123
$string= 
"<li id=123_test_[1]>
<li id=123_test_[4]>
<li id=567_test_[9]>
<li id=123_test_[6]>
"

 

All ids in the list items should start with the $id.

I need a script that will find the list items that do not start with the $id, and replaces whichever number is there with the $id.

 

So the string above should look like this

 

$id=123
$string= 
"<li id=123_test_[1]>
<li id=123_test_[4]>
<li id=123_test_[9]>
<li id=123_test_[6]>
"

 

 

Thanks everyone!!

Rather than try and "find" the ones that don't match, it would be easier to just replace ALL the ids with the $id you want.

$id = '123';
$string1 = "<li id=123_test_[1]>
<li id=123_test_[4]>
<li id=567_test_[9]>
<li id=123_test_[6]>";

echo preg_replace("#id=\d+_#", "id={$id}_", $string1);

 

Ouput:

<li id=123_test_[1]>
<li id=123_test_[4]>
<li id=123_test_[9]>
<li id=123_test_[6]>

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.