我自己和我的团队都陷入了困境,1具有以下代码。
$text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut bibendum augue eu arcu mollis cursus. Curabitur nec purus ipsum. Fusce ut erat leo, vitae malesuada lacus. Quisque varius gravida justo ut aliquam. Integer accumsan, ante non volutpat semper, orci sem luctus odio, sit amet convallis odio justo id nisl. Nunc sed lacus nisi, quis accumsan massa. Donec ante enim, fermentum sit amet placerat nec, eleifend elementum nibh [[BLOGIMAGE_20090303011757.jpg||480]] us dolor nec est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam accumsan blandit purus eget vestibulum. Nullam neque sem, suscipit sit amet mattis eu, imperdiet quis ligula. Integer aliquam dapibus gravida. Pellentesque ultrices sapien orci. Suspendisse at eros non dolor accumsan cursus mattis nec justo. [[BLOGIMAGE_20090303011819.jpg||480]] Aenean cursus lacinia arcu vitae malesuada. Fusce fermentum enim sit amet elit fermentum at consectetur ante vulputate. Aliquam sagittis nulla id magna facilisis tempus. Suspendisse eget feugiat libero. Pellentesque non lorem sem, eu posuere velit. Nulla id nulla ligula. [[BLOGIMAGE_20090303011842.jpg||480]] ..... etc"; $pat = "\[\[(.*)\|\|(.*)\]\]"; $mat = '<img src="/path/to/file/imgs/$1" width="$2px" />'; $text = preg_replace($pat , $mat, $text);
我们要做的是转换[[ ImageFile || [size ]]使用$ mat中的结构放入图像标签。该匹配项在regex(Adobe AIR程序)和Verious JavaScript在线测试器中完美运行
1遇到的错误是:-
消息:preg_replace()[function.preg-replace]:分隔符不能为字母数字或反斜杠
因此,如果1添加一个分隔符,例如…
$ pat =“ ^ [[(。 )\ | \ |(。 )]]”;
然后,第1场比赛停止工作,但不再出现任何错误。
任何帮助将非常感激。
preg_replace() 需要定界符;
preg_replace()
preg_replace("/$pat/" ...
传统上,它是正斜杠,但可以是任何字符-尤其是当您在正则表达式本身中需要正斜杠时,可以转到另一个字符。
这种灵活性使您可以将表示为"/http:\/\/foo\/bar\//"(“倾斜牙签综合症”)"!http://foo/bar/!"。
"/http:\/\/foo\/bar\//"
"!http://foo/bar/!"
分隔符对于将正则表达式与正则表达式标志(也称为“修饰符”)分开是必需的,例如:
preg_replace("/$pat/i" ...
…这使用i标志来声明不区分大小写的正则表达式。
i