6

注: 私は VI を使用するつもりはありません。必要なことを実行できる可能性があると最初に思いついたのは VI だけです。他のプログラムを提案してください。

PHP で自動入力したい 100 近くのフィールドを持つフォームがあります。自動入力の方法は知っていますが、必要なテキストを 100 個のフィールドに手動で追加することは避けたいと思います。

テキストを取得できる自動化された方法はありますか:

<input name="riskRating" id="riskRating" type="text" />

次のように変更します。

<input name="riskRating" id="riskRating" type="text" value="<?php echo $data['riskRating']; ?>" />

ほぼ 100 のフィールドに対してこれを実行したいことを思い出してください。各フィールドに移動したり、PHP コードを貼り付けたり、変数名を手動で変更したりしないようにしています。

そこにいるVIの第一人者が頭のてっぺんから知っていることを願っています。

4

4 に答える 4

5

Zsolt Botykai と Mark Biek からのいくつかのアイデア:

:%s:<input\(.* id="\([^"]*\)".*\) />:<input \1 value="<?php echo $data['\2']; ?> />:g
于 2008-09-23T19:53:52.157 に答える
4

:%s:\(<input name="\([^"]\+\)" id="[^"]\+" type="text" \)/>:\1value="<?php echo $data ['\2']; ?>" />:gci

それが1行です。HTH。

于 2008-09-23T19:49:20.063 に答える
2

私はこのようにしました。ただし、vimで動作するようにエスケープする方法がわかりません。分かり次第編集します

これは正規表現の検索部分です。

<input (.*) id="(.*?)" (.*) />

これは交換部品です:

<input \1 id="\2" \3 value="<?php echo $data['\2']; ?>" />
于 2008-09-23T19:58:14.377 に答える
-1

ステップ 1 : chaine type="text" を検索します。

/type="text"

必要なすべての文字列がキャッチされていることを確認します。ステップ 2: 必要な文字列に置き換えます。

:%s//type="text" value="<?php echo $data riskrating]; ?>"/g

ステップ 3 : 幸せになろう!

于 2008-09-23T19:59:19.710 に答える