PHP中的转义分号?

PHP中的转义分号?,php,Php,我创建了一个数据库,其中产品属性用分号分隔。我之所以选择它,是因为它不太可能作为规范的一部分自然出现 我希望这样做: <ul> <li><?php str_replace(';','</li><li>',$row['specifications']); ?></li> </ul> 它会创建一个很好的无序列表。但是,分号被视为PHP代码本身的一部分,而不是str_replace函数的一部分。它不是用普

我创建了一个数据库,其中产品属性用分号分隔
。我之所以选择它,是因为它不太可能作为规范的一部分自然出现

我希望这样做:

<ul>
  <li><?php str_replace(';','</li><li>',$row['specifications']); ?></li>
</ul>
它会创建一个很好的无序列表。但是,分号被视为PHP代码本身的一部分,而不是
str_replace
函数的一部分。它不是用普通的反斜杠方法转义的

有没有办法在这个函数中转义分号字符,或者我只是在选择分号时有点愚蠢,应该选择其他东西

--编辑--

对不起,我弄错了,它确实有用。我错过了['specifications']之后的紧括号

不过,谢谢你的回答

$test=“asd;123;asd;123”;
$test = "asd;123;asd;123";
echo '<ul>';
echo '<li>'.str_replace(';','</li><li>',$test).'</li>';
echo '</ul>';
回声“
    ”; 回显“
  • ”。stru替换(“;”,“
  • ”,$test)。“
  • ”; 回声“
”;

对我来说很好。

我不太确定你想要实现什么,但你的代码片段是错误的



是正确的(您错过了回声)

您的代码前面的某个地方一定有一个不匹配的
'
。PHP不会处理
在字符串中作为语句终止符。因为它正在终止语句,所以它不是“在”字符串中。

真的吗?什么证据使你得出结论:
;'被解释为句子终止符?
<?php 
$row['specifications'] = 't;e;s;t'; 
?> 
<ul> 
  <li><?php echo str_replace(';','</li><li>',$row['specifications']); ?></li> 
</ul>