Wai*_*... 1 php regex preg-replace
有没有使用的方式preg_replace来代替A对B是否A存在,或者B对于A是否B存在?
就像是:
preg_replace('/ORDER BY field (ASC|DESC)/', 'ORDER BY field (***the alternative not matched***)');
Run Code Online (Sandbox Code Playgroud)
把任何ORDER BY field ASC变成ORDER BY field DESC,ORDER BY field DESC变成任何变成ORDER BY field ASC.
您正在寻找的功能是preg_replace_callback.
例:
function replace_asc_desc($matches)
{
return 'ORDER BY field ' . ($matches[1] == 'ASC' ? 'DESC' : 'ASC');
}
$string = 'ORDER BY field DESC';
echo preg_replace_callback('/ORDER BY field (ASC|DESC)/', 'replace_asc_desc', $string);
Run Code Online (Sandbox Code Playgroud)