我不想在php.ini中启用php_short_tag,我也希望使用xml而不会出现短标签可能引入的问题,所以我用搜索替换了代码中每个短标签的出现并替换。
我想我应该在这里分享,因为我找到了很多答案,直到我调整它们才能起作用
首先使用<?=
搜索并替换<?php
注意:确保<?php
后面有一个空格,以便<?=code
为<?php code
而不是<?phpcode
<[?][\=](?!php)
。
正则表达式为<?
,请查看
debuggex.com
然后使用<?php
搜索并替换<?php
注意:请确保<?code
后面有一个空格,以便<?php code
为<?phpcode
而不是<[?](?!php)
gulp.task('test', function (done) {
karma.start({
configFile: _configFile: __dirname + '\\..\\test\\karma.conf.js',
singleRun: true
}, done);
});
。
正则表达式为..\\
,请查看
debuggex.com
答案 0 :(得分:-1)
只需将=
符号设为可选符号即可。
preg_replace('~<\?=?(?!php\b)~', '<?php ', $str);
OR
preg_replace('~<\?=?(?!php\b)(\w)~', '<?php \1', $str);
答案 1 :(得分:-1)
只是抬起<?=
符号模仿回声功能,所以我不得不改变我的改变,例如:
<?= __("Key") ?>
已更改为<?php __("Key") ?>
这没有输出语言所以我解决了这个正则表达式:
(?<=php)\ (?=__[(])
<?php __("Key") ?>
成了<?php echo __("Key") ?>