Frage

Hinweis: Ich kann nicht über die Verwendung VI bin, ist es nur das erste, was in den Sinn kam, die möglicherweise in der Lage zu tun, was ich brauche. Fühlen Sie sich frei ein anderes Programm vor.

Ich habe ein Formular mit fast 100 Feldern, die Ich mag würde mit PHP Auto-füllen. Ich weiß, wie die Autofill zu tun, aber ich würde manuell zu vermeiden, wie die benötigten Text zu 100 Felder hinzufügen.

Gibt es eine automatisierte Art und Weise ich den Text annehmen kann:

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

und ändern Sie es an:

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

Beachten Sie, dass ich dies will fast 100 Felder zu tun. Ich versuche, würde jedes Feld zu vermeiden, in dem PHP-Code einfügen und manuell die Variablennamen zu ändern.

Ich bin der Hoffnung, für einige VI Guru dort oben auf seinen / ihren Kopf weiß aus.

War es hilfreich?

Lösung

Unter einigen Ideen von Zsolt Botykai und Mark Biek:

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

Andere Tipps

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

Das ist eine Zeile. HTH.

Ich habe es so. Ich bin mir nicht sicher, wie zu entkommen es aber in vim zu arbeiten. Ich werde bearbeiten, wenn ich es herausfinden kann

Dies ist die Suche Teil der Regex:

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

Dies ist der Ersatz Teil:

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

Schritt 1: Suche | chaine type = "text":

/type="text"

Stellen Sie sicher, dass alle Strings, die Sie wollen gefangen werden. Schritt 2: Subsitute mit dem gesuchten String:

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

Schritt 3: Seien Sie glücklich

!
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top