0

我需要从以下内容中获取前两个字符:

$node->field_email_body['und'][0]['value']; //there are like 200 - 300 characters

我试着去:

$bodyemail = substr($node->field_email_body['und'][0]['value'], 0, 2);

它不起作用。
然后我需要做这样的事情:

if ($bodyemail == 'ok') {
    drupal_set_message ('done');
}
else {
    drupal_set_message ('not done');
}

我知道它是一个数组......并且substr适用于字符串。但我真的不知道如何以另一种方式做到这一点。谷歌没有帮助。

4

2 回答 2

0

谢谢大家的帮助和时间。问题出在我的代码中......在'drupal_set_message'的最后一行我忘了放')'并认为我的问题是'substr'。现在很好。

function driver_mailer_node_presave($node) { 
if ($node->type == 'mailhandler_source'){
drupal_set_message ('mailhandler node: ' .print_r($node->field_email_body['und'][0]['value'], true));
$string = $node->field_email_body['und'][0]['value'];
$bodyemail = substr($string, 0, 10);
drupal_set_message (print_r($bodyemail, true));
}
}
于 2012-12-25T07:21:55.290 回答
-1

你的代码看起来不错。

我建议将数组的位置设置为它自己的变量,然后尝试 substr 。然后您可以回显/记录两者并查看它们的设置。

于 2012-12-24T16:45:58.560 回答