1

ユーザーが HTML フォームのコードをテキストエリアに貼り付けることができるフォームがあります。次に、貼り付けたフォームを文字列に保存します。

そのフォームをページ テンプレートにエコー バックする前に、送信ボタンの値を変更したいと考えています。

現在、私はこれを行うために jQuery を使用していますが、最初にサーバー側で行いたいと考えています。

ここに私のjQueryコードがあります:

    $("input[type='submit']").attr("value","my new value");

PHPを使用してその値の文字列を検索し、フォームが印刷される前にそれを切り替えるにはどうすればよいですか?

更新:明確にするために、次の文字列を検索しようとしています:

<input type="submit" value="old value" />

そしてそれを

<input type="submit" value="new value" />

文字列には、次のようにフォーム全体が含まれています。

$string = '<form>
<input type="text" value="any">
<input type="submit" value="old value">
</form>';
4

1 に答える 1

1

あなたはそれを行うことができますDOMDocument

$dom = new DOMDocument;
$dom->loadHTML($form);
$xpath = new DOMXPath($dom);
$input = $xpath->query('//form/input[@type="submit"]')->item(0)->attributes;

foreach($input as $item){
    if($item->name == 'value'){
        $item->value = 'New Value';
    }
}

echo $dom->saveHTML();
于 2012-09-20T06:36:25.530 に答える