Rumah > pembangunan bahagian belakang > tutorial php > preg_replace_callback函数

preg_replace_callback函数

WBOY
Lepaskan: 2016-06-23 14:00:58
asal
1066 orang telah melayarinya

$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);
Salin selepas log masuk

这一句 用preg_replace_callback函数怎么改写呢 求指教下


回复讨论(解决方案)

$val = preg_replace_callback("/\[([^\[\]]*)\]/eis", function($match){ return str_replace('$','\$',$match)}, $val);
Salin selepas log masuk

$val = preg_replace_callback(        '/\[([^\[\]]*)\]/is',        function ($matches) {            return '.'.str_replace('$','\$',$matches[1]);        },        $val    );echo $val;
Salin selepas log masuk

同理这个呢

$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";
Salin selepas log masuk
Salin selepas log masuk

求说一下改的基本思想 还是不太懂 谢谢了

同理这个呢

$out = "<?php \n" . '$k = ' . preg_replace("/(\'\\$[^,]+)/e" , "stripslashes(trim('\\1','\''));", var_export($t, true)) . ";\n";
Salin selepas log masuk
Salin selepas log masuk

求说一下改的基本思想 还是不太懂 谢谢了


这个已改好 依葫芦画瓢的 = =
$out = "<?php \n" . '$k = ' . preg_replace_callback("/(\'\\$[^,]+)/" , function($ro) { return stripslashes(trim($ro[1],'\''));}, var_export($t, true)) . ";\n";
Salin selepas log masuk

最后一处了 这里中间的代码 include哪一行不清楚怎么改

$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';$replacement = "'{include file='.strtolower('\\1'). '}'";$source = preg_replace_callback($pattern, $replacement, $source);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
- -

最后一处了 这里中间的代码 include哪一行不清楚怎么改

$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';$replacement = "'{include file='.strtolower('\\1'). '}'";$source = preg_replace_callback($pattern, $replacement, $source);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
- -
还是一样的 也还是一字符串啊 还是原来的方式就行了








最后一处了 这里中间的代码 include哪一行不清楚怎么改

$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';$replacement = "'{include file='.strtolower('\\1'). '}'";$source = preg_replace_callback($pattern, $replacement, $source);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
- -
还是一样的 也还是一字符串啊 还是原来的方式就行了



主要是这一会不会改了,可以帮我改改看么 就最短的这句
$replacement = "'{include file='.strtolower('\\1'). '}'";
Salin selepas log masuk
  非常感谢

$replacement = function ($matches) { return '{include file='.strtolower($matches[1]). '}';};

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan