lfernando Posted February 11, 2011 Share Posted February 11, 2011 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!! Quote Link to comment https://forums.phpfreaks.com/topic/227388-find-replace-when-substr-does-not-contain-id/ Share on other sites More sharing options...
Psycho Posted February 12, 2011 Share Posted February 12, 2011 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]> Quote Link to comment https://forums.phpfreaks.com/topic/227388-find-replace-when-substr-does-not-contain-id/#findComment-1173059 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.