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!! 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]> 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
Archived
This topic is now archived and is closed to further replies.