我有#[\s]+on[a-z]+[\s]*=#si
。我需要匹配( preg_replace )字符串,如onclick =
,但前提是此字符串后面没有其他特定字符串。
示例(粗体是匹配)
某些文字 onClickOrWhatever = 某些文字
一些文字onClickOrWhatever =我的特殊字符串一些文字
第二行不应该匹配,因为表达式后跟“my special string”。换句话说,我需要保持完整的特定内联javascript,但删除(销毁)任何其他。
这个表达式有点过于笼统。它也会部分匹配you told me once =)
,我知道这一点。
答案 0 :(得分:3)
好的回答你的问题,你可以使用negative lookahead
:
#\s+on[a-z]+\s*=(?!\s*my special string)#i
此处您还不需要s
标记用于制作DOT
匹配newline
。