2008-09-23 7 views
6

नोट: मैं VI का उपयोग करने पर सेट नहीं हूं, यह केवल पहली चीज है जो ध्यान में आई है कि मुझे जो चाहिए वह करने में सक्षम हो सकता है। किसी भी अन्य कार्यक्रम का सुझाव देने के लिए स्वतंत्र महसूस करें।क्या मैं अपने लिए कुछ पाठ स्वत: भरने के लिए RegEx और VI (या कुछ समान) का उपयोग कर सकता हूं?

मेरे पास लगभग 100 फ़ील्ड के साथ एक फॉर्म है जिसे मैं PHP से स्वतः भरना चाहता हूं। मुझे पता है कि ऑटोफिल कैसे करें, लेकिन मैं आवश्यक फ़ील्ड को 100 फ़ील्ड में मैन्युअल रूप से जोड़ने से बचना चाहता हूं।

वहाँ एक स्वचालित मार्ग मैं पाठ ले जा सकते हैं है:

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

और के लिए इसे बदल:

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

है कि मैं लगभग 100 क्षेत्रों के लिए यह करने के लिए इच्छुक हूँ याद रखें। मैं प्रत्येक क्षेत्र में जाने से बचने, PHP कोड में पेस्ट करने और वैरिएबल नाम को मैन्युअल रूप से बदलने से बचने की कोशिश कर रहा हूं।

मुझे आशा है कि कुछ छठी गुरु वहां से उसके सिर के ऊपर से जान जाएंगे।

उत्तर

5

ज़ोल्ट Botykai और मार्क Biek से कुछ विचार ले रहा है:

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

उत्तर के लिए धन्यवाद। तुमने मुझे बहुत परेशान बचाया है। – Haabda

4

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

एक पंक्ति है कि। एचटीएच।

+0

मुझे नहीं लगता कि यह "जोखिम निर्धारण" के विशिष्ट मामले से अधिक के लिए कैसे काम करता है –

+0

ओह, तो समस्या बिल्कुल निर्दिष्ट नहीं थी। उत्तर अपडेट कर रहा है। –

+0

"याद रखें कि मैं इसे लगभग 100 फ़ील्ड में करना चाहता हूं। मैं प्रत्येक क्षेत्र में जाने से बचने, PHP कोड में पेस्ट करने और मैन्युअल रूप से परिवर्तनीय नाम बदलने से बचने की कोशिश कर रहा हूं।" –

2

मैं इसे इस तरह से किया था। मुझे यकीन नहीं है कि विम में काम करने के लिए इसे कैसे बचाना है।

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

इस की जगह हिस्सा है::

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

यह मेरी तुलना में बेहतर है। :% s: : <इनपुट \ 1 id =" \ 2 "\ 3 value =" < ? php echo $ डेटा ['\ 2']; ?> "/>: जी –

+0

उत्तर के लिए धन्यवाद। आप मुझे बहुत परेशान बचा चुके हैं। – Haabda

-1

चरण 1: खोज चाइने प्रकार मैं अगर मैं यह पता लगा सकते हैं

इस regex की तलाश हिस्सा है संपादित करेंगे = "पाठ":

/type="text" 

सत्यापित करें कि सभी तार आप चाहते फंस गए हैं। चरण 2: subsitute वांछित तार के साथ:

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

चरण 3: खुश रहो!