欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Drupal 7 中,将 drupal_get_form('my_form')
的输出转换为字符串可以通过以下方式实现:
drupal_render() OK 有大用
php$form = drupal_get_form('my_form'); $form_string = drupal_render($form);
phpob_start(); $form = drupal_get_form('my_form'); drupal_render($form); $form_string = ob_get_clean();
php// 获取表单数组 $form = drupal_get_form('my_form'); // 方法1:直接渲染为字符串 $form_string = drupal_render($form); // 方法2:通过输出缓冲捕获 ob_start(); print drupal_render($form); $form_string = ob_get_clean(); // 现在$form_string包含HTML字符串 // 例如:<form action="..." method="post">...</form>
my_form
需要是已实现的表单ID(通过 hook_forms()
或 hook_form()
定义)
确保表单处理逻辑已正确实现
字符串输出可能包含Drupal自动添加的CSRF令牌等隐藏字段
如果需要进一步处理生成的字符串,可以使用Drupal的过滤函数或PHP的DOM操作函数。