【发布时间】:2018-12-17 19:34:00
【问题描述】:
$str = '<div class="col-md-4">
<div class="form-group">
<label class="text-danger">Present Room Type</label>
<select class="form-control" name="form-present-room-type" required>
<option value=""></option>
<option value="PREMIUM" '.( ("@form-present-room-type@" == "PREMIUM") ? "selected" : "").'>PREMIUM</option>
<option value="SINGLE" '.( ("@form-present-room-type@" == "SINGLE") ? "selected" : "").'>SINGLE</option>
<option value="DOUBLE" '.( ("@form-present-room-type@" == "DOUBLE") ? "selected" : "").'>DOUBLE</option>
<option value="TRIPLE" '.( ("@form-present-room-type@" == "TRIPLE") ? "selected" : "").'>TRIPLE</option>
</select>
</div>
</div>';
我上次质疑它,我发现当我像上面的代码一样在选项标签之外制作if时,@form-present-room-type@的值没有改变,这意味着@form-present-room-type不等于@987654325 @ 或任何 option 值。但是当我把它放在选项标签中时。像这样<option value="PREMIUM" (@form-present-room-type@ == PREMIUM ? selected : "")>PREMIUM</option> 他会得到@form-present-room-type@ 值,但它只返回像这样<option value="PREMIUM" (premium="=" premium="" ?="" selected="" :="" "")="">PREMIUM</option> 的字符串。因为我希望将其替换为某些字符串,例如:str_replace('@form-present-room-type@','PREMIUM',$str);
【问题讨论】:
标签: php string if-statement str-replace