Benim için bazı metin otomatik için RegEx ve VI (veya benzer bir şey) kullanabilir miyim?

4 Cevap php

NOT: Ben VI kullanarak set değilim, ben gerekenleri yapmak mümkün olabilir aklıma geldi sadece ilk şey. Başka bir program önermek için çekinmeyin.

Ben PHP ile otomatik doldurmak istiyorum yaklaşık 100 alanları ile bir form var. Ben autofill nasıl biliyorum, ama ben 100 alanlara gerekli metin ekleyerek elle önlemek istiyorum.

Ben metin alabilir otomatik bir yolu var mı:

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

ve değiştirmek için:

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

Neredeyse 100 alanlara bunu yapmak isteyen olduğumu hatırlıyorum. Ben PHP kodu yapıştırarak ve elle değişken adını değiştirerek, her bir alana gidiyor önlemek için çalışıyorum.

Ben orada bazı VI gurusu umuyorum onun / başının üst kapalı bilir.

4 Cevap

Zsolt Botykai ve Mark Biek bazı fikirler alarak:

:%s:<input\(.* id="\([^"]*\)".*\) />:<input \1 value="<?php echo $data['\2']; ?> />:g

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

That's one line. HTH.

Ben böyle yaptım. Ama vim çalışmak için kaçmak için nasıl emin değilim. Ben bunu anlamaya eğer düzenlemek edeceğiz

Bu da düzenli ifade arama parçasıdır:

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

Bu değiştirin parçasıdır:

<input \1 id="\2" \3 value="<?php echo $data['\2']; ?>" />

1. adım: chaine type = "text" arama:

/type="text"

Verify that all the strings you want are caught. step 2 : Subsitute with the wanted string :

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

Adım 3: Mutlu olun!