RegEx 및 VI (또는 유사한 항목)를 사용하여 일부 텍스트 자동 완성 기능을 사용할 수 있습니까?


6

참고 : VI를 사용하도록 설정하지 않았으며, 내가 필요한 것을 수행 할 수 있다는 것을 염두에 두었습니다. 다른 프로그램을 제안 해주십시오.

저는 PHP로 자동 채우기를 원할 정도로 거의 100 개의 필드가있는 양식이 있습니다. 필자는 자동 채우기를 수행하는 방법을 알고 있지만 수동으로 100 개의 필드에 필요한 텍스트를 추가하지 않아야합니다.

내가 텍스트를 취할 수있는 자동화 된 방법이 :

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

가와로 변경 : 나는 거의 100 필드에이 작업을 수행 걸려 기억

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

. 저는 각 필드에 가지 않고 PHP 코드를 붙여 변수 이름을 수동으로 변경하는 것을 피하려고합니다.

나는 몇몇 VI 전문가들이 그 머리 꼭대기를 알고 있기를 바라고 있습니다.

5

:

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

답변 해 주셔서 감사합니다. 모두 나를 괴롭혔다. 23 sep. 082008-09-23 20:40:22


4

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

그건 한 줄입니다. HTH. Zsolt Botykai 마크 Biek에서 몇 가지 아이디어를 복용

  0

"riskRating"의 구체적인 사례 이외에 어떻게 작동하는지 알 수 없습니다. 23 sep. 082008-09-23 19:55:36

  0

아, 문제가 정확히 지정되지 않았습니다. 답변을 업데이트 중입니다. 23 sep. 082008-09-23 19:57:24

  0

"거의 100 개의 필드에서이 작업을 수행하고 싶다는 것을 기억하십시오. 각 필드로 이동하지 않고 PHP 코드를 붙여 넣고 변수 이름을 수동으로 변경하려고하지 않습니다." 23 sep. 082008-09-23 19:58:50

  0

내 업데이트를 확인하십시오. 저는 PHP 프로그래머가 아닙니다. 그리고 여러분은 기대 한 결과물을 작성했으며 원래의 문자열로부터 "변수"- 서브 표현식을 정규 표현식으로 사용한다는 것을 언급하지 않았습니다. 23 sep. 082008-09-23 20:08:09


2

나는 이런 식으로했다. 그래도 vim에서 작동하도록 어떻게 탈출해야할지 모르겠다.

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

이것은 대체 일부입니다 :

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

그건 내 것보다 낫다. : % s : <input \ (. * \) id = "\ ([^"] * \) "\ (. * \) /> : <input \ 1 id ="\ 2 "\ 3 value ="< ? php echo $ data [ '\ 2']; ?> "/> : g 23 sep. 082008-09-23 20:06:22

  0

해답을 가져 주셔서 감사합니다. 23 sep. 082008-09-23 20:39:50


-1

단계 1 :은 Chaine 유형을 검색 나는이 정규식의 검색 부분

그것을 알아낼 수 있을지 편집 할 수 있습니다 = "텍스트":

/type="text" 

원하는 모든 문자열이 잡혔는지 확인하십시오. 원하는 문자열을 subsitute가 : 2 단계

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

3 단계 : 행복하세요!