当前位置: 首页 > 面试题库 >

在PHP中用于preg_replace的分隔符(替换在PHP外部但不在PHP内部工作)

濮景龙
2023-03-14
问题内容

我自己和我的团队都陷入了困境,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("/$pat/" ...

传统上,它是正斜杠,但可以是任何字符-尤其是当您在正则表达式本身中需要正斜杠时,可以转到另一个字符。

这种灵活性使您可以将表示为"/http:\/\/foo\/bar\//"(“倾斜牙签综合症”)"!http://foo/bar/!"

分隔符对于将正则表达式与正则表达式标志(也称为“修饰符”)分开是必需的,例如:

preg_replace("/$pat/i" ...

…这使用i标志来声明不区分大小写的正则表达式



 类似资料:
  • 问题内容: 我正在尝试获取字符串的前10个字符,并想用替换空格。 我有 但是我不确定下一步该怎么做。 我想要绳子 这是对字符串的测试。 成为 this_is_th 问题答案: 只需使用str_replace: 您可以在上一个和呼叫之后执行此操作,如下所示: 但是,如果您想花哨的话,可以一行完成:

  • 我想用我自己的函数隐藏字符串的一部分。例如:。如果我的函数是HashPartOfString($string),我想把我的字符串放入这个函数中,并有一个类似这样的输出我该怎么做呢?

  • 本文向大家介绍详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace),包括了详解PHP正则表达式替换实现(PHP preg_replace,PHP preg_replace)的使用技巧和注意事项,需要的朋友参考一下 PHP正则表达式替换实现是如何的呢?首先向你介绍下PHP preg_replace,PHP preg_replace的使用是我们实现的方法,

  • 问题内容: 我究竟做错了什么?为什么$ path在函数外部正确打印,但是在函数内部无法访问? 问题答案: 因为它没有在函数中定义。 有几种方法可以解决此问题: 1)使用亚历克斯所说的话,告诉函数它是一个全局变量: 2)将其定义为常量: 3)如果特定于该函数,则将其传递给该函数: 根据功能的实际工作原理,其中之一会起作用。

  • 问题内容: 使用以下命令运行命令时出现以下错误 在以下路径中运行命令时,我没有收到任何错误: 为什么会出现此错误? 无法将“ php”识别为内部或外部命令,可操作程序或批处理文件。 问题答案: 添加到您的环境变量。 然后关闭命令提示符,然后再次重新启动。 注意: 关闭命令提示符并再次重新启动非常重要,否则更改将不会反映出来。

  • 问题内容: 我想用和分开 因此处理后应该得到: 问题答案: 对更新问题的更新答案: