PHP语法错误:unexpected identifier 'col' 求助(Bootstrap环境)
修复Parse error: syntax error, unexpected identifier "col"错误的方法
这个错误的根源是字符串嵌套双引号引发的PHP语法冲突:你用双引号包裹$element的整个HTML内容,但HTML属性里也用了双引号(比如class="col-md-4")。PHP解析到col-md-4前面的第二个双引号时,会误认为这是$element字符串的结束标记,后面的col就变成了无意义的独立标识符,触发语法错误。
以下是三种可行的修复方案:
方案1:转义字符串内的双引号
在HTML属性的每个双引号前添加反斜杠\,让PHP识别这是字符串内部的引号,而非结束标记:
function component(){ $element = "<div class=\"col-md-4\"> <div class=\"card text-center\"> <img src=\"images/bonsai.jpeg\" class=\"card-img-top\"> <div class=\"card-body\"> <h3 class=\"card-title\">Aloe Vera</h3> <p class=\"card-text\">Bonsai is the Japanese art of growing and training miniature trees in pots, developed from the traditional Chinese art form of penjing.</p> </div> <button type=\"submit\" class=\"btn btn-success\">Buy Now</button> </div> </div>"; echo $element; }
方案2:用单引号包裹整个HTML字符串
将外层字符串的双引号换成单引号,内部HTML属性保留双引号(反之亦然,只要内外引号类型不同即可):
function component(){ $element = '<div class="col-md-4"> <div class="card text-center"> <img src="images/bonsai.jpeg" class="card-img-top"> <div class="card-body"> <h3 class="card-title">Aloe Vera</h3> <p class="card-text">Bonsai is the Japanese art of growing and training miniature trees in pots, developed from the traditional Chinese art form of penjing.</p> </div> <button type="submit" class="btn btn-success">Buy Now</button> </div> </div>'; echo $element; }
方案3:使用HEREDOC语法(推荐多行字符串场景)
HEREDOC是PHP专门处理多行字符串的语法,无需转义引号,代码可读性更高:
function component(){ $element = <<<HTML <div class="col-md-4"> <div class="card text-center"> <img src="images/bonsai.jpeg" class="card-img-top"> <div class="card-body"> <h3 class="card-title">Aloe Vera</h3> <p class="card-text">Bonsai is the Japanese art of growing and training miniature trees in pots, developed from the traditional Chinese art form of penjing.</p> </div> <button type="submit" class="btn btn-success">Buy Now</button> </div> </div> HTML; echo $element; }
内容的提问来源于stack exchange,提问作者Arnulfo L. Villareal Jr.
相关产品推荐
相关产品推荐

