我已经创建了一个数据库,其中的产品属性用分号;分隔。我之所以选择这个,是因为它不太可能自然而然地成为规范的一部分。
我希望这样做:
<ul>
<li><?php str_replace(';','</li><li>',$row['specifications']); ?></li>
</ul>它会创建一个很好的无序列表。但是,分号被视为PHP代码本身的一部分,而不是str_replace函数的一部分。它不是用普通的反斜杠方法转义的。
有没有办法在这个函数中转义分号字符,或者我只是在选择分号时有点愚蠢,应该选择其他字符?!
-编辑--
对不起,我的错误,它确实起作用了。我错过了“规范”后面的右括号。
不过,还是要感谢你的回答!
发布于 2011-08-16 00:00:11
$test = "asd;123;asd;123";
echo '<ul>';
echo '<li>'.str_replace(';','</li><li>',$test).'</li>';
echo '</ul>';对我来说很好。
发布于 2011-08-16 00:00:33
我不太确定您想要实现什么,但是您的代码片段是错误的
http://sandbox.phpcode.eu/g/d92eb.php
<?php
$row['specifications'] = 't;e;s;t';
?>
<ul>
<li><?php echo str_replace(';','</li><li>',$row['specifications']); ?></li>
</ul>是正确的(你错过了echo )
发布于 2011-08-16 00:01:06
在前面的代码中,一定有一个不匹配的'。PHP不会将字符串中的;视为语句结束符。因为它终止了语句,所以它不是“在”字符串中。
https://stackoverflow.com/questions/7067327
复制相似问题