繁体   English   中英

PHP 中的转义分号?

[英]Escape Semicolon in PHP?

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

我希望这样做:

<ul>
  <li><?php str_replace(';','</li><li>',$row['specifications']); ?></li>
</ul>

它会创建一个很好的无序列表。 但是,分号被视为 PHP 代码本身的一部分,而不是str_replace function 的一部分。 它没有被正常的反斜杠方法转义。

有没有 escaping 这个 function 中的分号字符的任何方式,或者我只是在选择分号时有点愚蠢,应该选择别的东西?!

- 编辑 -

对不起,我的错误,它确实有效。 在 ['specifications'] 之后,我错过了我的右括号。

不过,感谢您的回答!

$test = "asd;123;asd;123";
echo '<ul>';
echo '<li>'.str_replace(';','</li><li>',$test).'</li>';
echo '</ul>';

对我来说很好。

我不太确定您要达到什么目的,但是您的代码段是错误的

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

您的代码中前面的某处必须有一个不匹配' PHP 不会处理; 在字符串中作为语句终止符。 由于它正在终止语句,因此它不在字符串“内部”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM