如何以正确的方式编写此字符串

时间:2012-08-10 04:54:50

标签: php string syntax-error

我想首先将一个javascript onclick函数代码存储到一个字符串中,然后我需要在一个单选按钮中传递它。

我的刺痛变量是:

$jsFunc = "onclick=\"javascript:showHide(this.value, \'$arrFlipEntities[$field_id]\');\"";

我想像dis:

一样使用这个变量
$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";

但是,当我查看源代码时,它正在提供此输出:

<input onclick="javascript:showHide(this.value, \'bas_link\');" type="radio" name="bas_type" id="Yes" value="Yes" checked="checked">

4 个答案:

答案 0 :(得分:1)

尝试:

$jsFunc = "onclick=\"javascript:showHide(this.value, '".$arrFlipEntities[$field_id]."');\"";

$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";

答案 1 :(得分:1)

当'是两个'时,它不需要\

$jsFunc = "onclick=\"javascript:showHide(this.value, '$arrFlipEntities[$field_id]')\"";
$strCode .= "<input {$jsFunc} type=\"radio\" name=\"{$field_name}\" id=\"{$option}\" value=\"{$option}\" checked=\"checked\"/><label for=\"{$option}\">{$option}</label>";

答案 2 :(得分:1)

我更喜欢单引号方法:

$jsFunc = 'onClick="javascript:showHide(this.value, '.$arrFlipEntities[$field_id].');"';

$strCode .= '<input '.$jsFunc.' type="radio" name="'.$field_name.'" id="'.$option.'" value="'.$option.'" checked="checked"/><label for="'.$option.'">'.$option.'</label>';

答案 3 :(得分:0)

$jsFunc = "onclick=\"javascript:showHide(this.value, \'$arrFlipEntities[$field_id]\');\""; 

应该是:

$jsFunc = "onclick=\"javascript:showHide(this.value, '".$arrFlipEntities[$field_id]."');\""; 

单引号和双引号在被另一引号包裹时不会被转义。你也不能在双引号内访问类似的数组,只适用于$ var =“$ myVar”等变量;