PHP正则表达式将所选内容移动到字符串中的不同位置
我现在有这个正则表达式:PHP正则表达式将所选内容移动到字符串中的不同位置,php,regex,Php,Regex,我现在有这个正则表达式: $text = preg_replace("#<sup>(?:(?!</?sup).)*$key(?:(?!</?sup).)*<\/sup>#is", '<sup>'.$val.'</sup>', $text); $text=preg_replace(“#(?:(?!)您必须将preg_match()和preg_replace()组合起来 将所需内容与preg_match()匹配并存储到变量中 用相同的正则
$text = preg_replace("#<sup>(?:(?!</?sup).)*$key(?:(?!</?sup).)*<\/sup>#is", '<sup>'.$val.'</sup>', $text);
$text=preg_replace(“#(?:(?!)您必须将preg_match()和preg_replace()组合起来
将所需内容与preg_match()匹配并存储到变量中
用相同的正则表达式替换为空字符串
在末尾附加存储到的变量
试试这个
$text = preg_replace(
'#<sup>((?:(?!</?sup).)*)'.$key.'((?:(?!</?sup).)*)</sup>#is',
'<sup>'.$val.'</sup>\1\2',
$text
);
$text=preg\u replace(
“#((?:(?)不要将regexp与HTML一起使用!这在这里一直是有争议的。但是,正如它所显示的,在某些情况下,regex是合适的,即使对于HTML也是如此。