我的代码中的未知修饰符[重复]
Posted
技术标签:
【中文标题】我的代码中的未知修饰符[重复]【英文标题】:Unknown modifier in my code [duplicate] 【发布时间】:2012-10-22 18:27:34 【问题描述】:<? php
$Src = 'images/pages/clients/logos/clnt_aljareera_img.jpg';
$pttn= '/&Src:'.$Src.'/';
$string=preg_replace($pttn,'',$string,1);
?>
//输出错误:未知修饰符'p' in
【问题讨论】:
【参考方案1】:您的字符串包含一大堆/
,当使用/
作为正则表达式分隔符时,需要将其转义为\/
。代替/
作为正则表达式分隔符,使用不会出现在您的字符串中的东西,例如~
。但是,您必须选择保证不会出现在$Src
中的分隔字符。即使使用|
,您也可能比使用~
更安全。
$Src = 'images/pages/clients/logos/clnt_aljareera_img.jpg';
// Delimit the regular expression with ~
$pttn= '~&Src:'.$Src.'~';
$string=preg_replace($pttn,'',$string,1);
发生的情况是,由/
分隔的正则表达式在images/
之后立即遇到p
,因为它认为它已到达结束分隔符。下一个单词pages
被错误地视为一串正则表达式修饰符。
PHP 看到正则表达式:
/&src:images/pages
【讨论】:
光速。谢谢芽。【参考方案2】:删除开始 php-tag 中的空格。
【讨论】:
这几乎看起来像问题(这是一个问题),但未知修饰符是images/p
的结果,正则表达式认为它遇到了结束 /
分隔符,后跟 @987654323 @.
你说得对,“仅”开头的 php-tag 会导致语法错误.. 它刚刚进入我的视线,我想他无论如何都需要修复它;-)
真的,这会导致Parse error: syntax error, unexpected T_VARIABLE
以上是关于我的代码中的未知修饰符[重复]的主要内容,如果未能解决你的问题,请参考以下文章