" "를 "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등입니다.

sed한 줄에 PHP 인쇄 텍스트가 포함되어 있으면 바꾸기를 사용하는 방법을 알고 있다고 생각합니다 . 하지만 긴 줄에 여러 개의 PHP 인쇄 텍스트가 포함되어 있으면 어떻게 될까요?

교체하는 방법을 알고 싶습니다.

답변1

내 생각에 당신의 의도는 PHP 스크립트에서 오래된 국제화 시스템을 제거하는 것입니다.

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

질문에 제안되지 않은 몇 가지 개선 사항이 있습니다.

  • print또는 둘 다에 적용됩니다 echo.
  • 작은따옴표와 큰따옴표에 적용됩니다.
  • <?php.. ?>태그가 별도의 줄에 표시되도록 허용합니다 .
  • t()에 대한 인수가 여러 줄에 걸쳐 있도록 허용합니다.

그러나 실패할 상황은 여전히 ​​충분합니다.

관련 정보