将“ ”替换为“Blabla”

将“ ”替换为“Blabla”

可以说file.php,在 中,有很多 php 打印文本:<?php print t('Blabla'); ?><?php print t('Text Here'); ?>等。

我需要的是删除<?php print t('php'); ?>打印文本。

所以,<?php print t('Blabla'); ?>将成为Blabla<?php print t('Text Here'); ?>将成为Text Here,等等。

如果一行中包含一个 php 打印文本,我想我知道如何使用sed替换,但是如果一长行包含多个 php 打印文本呢?

我只是想知道如何更换?

答案1

我想您的目的是从 PHP 脚本中删除旧的国际化系统。

perl -e 'undef$/;$s=<>;$s=~s/<\?php\s+(?:print|echo)\s+t\((['"'"'"])(.*?)\1\);\s+\?>/$2/gs;print$s' apasajja

这有一些问题中未提出的改进:

  • 适用于两者printecho.
  • 适用于单引号和双引号。
  • 允许<?php..?>标签位于单独的行中。
  • 允许 t() 的参数跨越多行。

但仍有足够多的情况会失败。

相关内容