我有PHP代码:
<?php
$vF = array('nazwa' => 'Nazwa', 'telefon' => 'Telefon', 'email' => 'E-mail', 'adres' => 'Adres');
?>
我想使用sed将其更改为:
<?php
$vF = array('nazwa' => _('Nazwa'), 'telefon' => _('Telefon'), 'email' => _('E-mail'), 'adres' => _('Adres'));
?>
我该怎么做?
答案 0 :(得分:0)
如果这是整个文件,并且采用该特定格式,那么您可以使用sed
之类的内容:
sed "s/\\('[^']*'\\)\\([,)]\\)/_(\\1)\\2/g" b.php
否则,请查看token_get_all()
以获取完整的精度解析器。您可以阅读PHP文件,然后使用token_get_all()
找出数组中字符串的确切位置,之后您可以用所需的字符串替换它们并呈现修改后的源代码。
答案 1 :(得分:0)
使用perl
perl -pe 's/(?<=> )([^,]+)(?=[,;])/_($1)/g' foo.php
$ cat foo.php
<?php
$vF = array('nazwa' => 'Nazwa', 'telefon' => 'Telefon', 'email' => 'E-mail', 'adres' => 'Adres');
?>
$ perl -pe 's/(?<=> )([^,]+)(?=[,;])/_($1)/g' foo.php
<?php
$vF = array('nazwa' => _('Nazwa'), 'telefon' => _('Telefon'), 'email' => _('E-mail'), 'adres' => _('Adres'));
?>