Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Drupal8中使用正则表达式更改表单标签_Php_Drupal_Drupal 8 - Fatal编程技术网

Php 在Drupal8中使用正则表达式更改表单标签

Php 在Drupal8中使用正则表达式更改表单标签,php,drupal,drupal-8,Php,Drupal,Drupal 8,我有一些表单字段是这样的:“是的(如果“是”,跳过下一个问题)”,我希望将任何带有括号内文本的标签包装在一个范围内,以便对其进行样式设置。我试着写一个预处理程序,但没有任何效果 function THEME_preprocess_form_element_label(&$variables){ $element = $variables['element']; $title = $element['#title']; $pat = "/\((.*?)\)/"; if (i

我有一些表单字段是这样的:“是的(如果“是”,跳过下一个问题)”,我希望将任何带有括号内文本的标签包装在一个范围内,以便对其进行样式设置。我试着写一个预处理程序,但没有任何效果

function THEME_preprocess_form_element_label(&$variables){
  $element = $variables['element'];
  $title = $element['#title'];
  $pat = "/\((.*?)\)/";
  if (isset($title) && preg_match($pat, $title)) {
    $titleSplit = preg_split($pat, $title);
    $newTitle = $titleSplit[0]+"<span>"+$titleSplit[1]+"</span>";
    $title = $newTitle;
  }
}
函数主题\预处理\表单\元素\标签(&$variables){
$element=$variables['element'];
$title=$element['#title'];
$pat=“/\(*?)/”;
if(isset($title)和预匹配($pat,$title)){
$titleSplit=preg_split($pat,$title);
$newTitle=$titleSplit[0]+“”+$titleSplit[1]+“”;
$title=$newTitle;
}
}

$title=$newTitle
正在函数中设置
$title
变量,但不在通过引用传递的
&$variables
上设置。
尝试:

函数主题\预处理\表单\元素\标签(&$variables){
$pat=“/\(*?)/”;
if(设置($variables['element']['#title'])和&preg_match($pat,$variables['element']['#title'])){
$titleSplit=preg_split($pat,$variables['element']['title']);
$newTitle=$titleSplit[0]+“”+$titleSplit[1]+“”;
$variables['element']['#title']=$newTitle;
}
}
function THEME_preprocess_form_element_label(&$variables){
  $pat = "/\((.*?)\)/";
  if (isset($variables['element']['#title']) && preg_match($pat, $variables['element']['#title'])) {
    $titleSplit = preg_split($pat, $variables['element']['#title']);
    $newTitle = $titleSplit[0]+"<span>"+$titleSplit[1]+"</span>";
    $variables['element']['#title'] = $newTitle;
  }
}