addlink(str)是一个自定义的函数,有返回值preg_replace("/[\s]*([a-zA-Z_][a-zA-Z0-9_]*)[\s]*/m",addlink("\\1"),$pagecontent);失败 会解析成addlink(\1)
preg_replace("/[\s]*([a-zA-Z_][a-zA-Z0-9_]*)[\s]*/m","addlink(\\1)",$pagecontent);失败 会解析成‘addlink(\\1)’
preg_replace("/[\s]*([a-zA-Z_][a-zA-Z0-9_]*)[\s]*/m",addlink({\\1}),$pagecontent);可以 会解析成addlink({\\1})
但是会加上两个{ }
请问怎样才能解析为addlink(\\1) 既使用匹配字符来当做参数调用addlink函数,返回addlink的值?
preg_replace("/[\s]*([a-zA-Z_][a-zA-Z0-9_]*)[\s]*/m","addlink(\\1)",$pagecontent);失败 会解析成‘addlink(\\1)’
preg_replace("/[\s]*([a-zA-Z_][a-zA-Z0-9_]*)[\s]*/m",addlink({\\1}),$pagecontent);可以 会解析成addlink({\\1})
但是会加上两个{ }
请问怎样才能解析为addlink(\\1) 既使用匹配字符来当做参数调用addlink函数,返回addlink的值?
1 正则表达式要加修正符e
2 要用""将自定义函数括起来
你也可以用preg_replace_callback这个相对好理解点.