I'm trying to perform a string manipulation on this string. I have an algorithm in mind, but not sure about the php syntax.
<who    not="p" what="v" />
<cares  i="开发者_如何转开发n"   want="m" />
<target my="t"  what="iwant" />
Between each start and end pair < and />, the string my="t" may or may not exist (in this example it only exists on the third line). If it doesn't exist, I want to copy the whole < /> as is. If it exists, I want to add <something /> after it. So I want this string to look like this
<who    not="p" what="v" />
<cares  i="n"   want="m" />
<target my="t"  what="iwant" /><something />
What complicates the situation is that my="t" seems to not have a standard position, it could be anywhere between < />. Any suggestions how to do this with php? I'm thinking regex 
First I think you could use regex, or simply combination of substr & strpos to seperate the <... />
You can use strstr to determine if my="t" appears in a string or not, then perform the approriate action.
Actually, I think that breaking your task into smaller tasks, is more simple and easier to refactor than trying to get all in one shot with a magical regex.
Have a try with:
$l = array('<who    not="p" what="v" />','<cares  i="n"   want="m" />','<target my="t"  what="iwant" />');
foreach ($l as $str) {
  $str = preg_replace('#(<.*?my="t".*? />)#', "$1<something />", $str);
  echo $str,"\n";
}
Output:
<who    not="p" what="v" />
<cares  i="n"   want="m" />
<target my="t"  what="iwant" /><something />
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论