0
$x = "''xx''";

echo $x, "\n";
echo trim($x, "'");

在这个程序中,我只想从开头修剪一个单引号,从结尾修剪一个。Trim 删除开头和结尾的所有单引号。

我希望它只删除一个报价。

4

3 回答 3

4
$x = preg_replace("/^'?(.*?)'?$/", '$1', $x);

或者,如果您不喜欢使用正则表达式:

if (substr($x, 0, 1) === "'") {
    $x = substr($x, 1);
}
if (substr($x, -1) === "'") {
    $x = substr($x, 0, -1);
}
于 2012-10-29T16:57:11.400 回答
0

使用 preg_replace 和 "limit" 参数,解决方案不是太粗糙:

$str = preg_replace("/'/", "", $str, 1);
$str = strrev( preg_replace("/'/", "", strrev($str), 1) );

http://ideone.com/RhqglD

于 2012-10-29T17:06:10.280 回答
0

没有正则表达式的解决方案。

$string = "'test'";
if ($string[0] === "'") {
    $string = substr($string, 1);
}
if ($string[strlen($string) - 1] === "'") {
    $string = substr($string, 0, -1);
}
于 2012-10-29T17:12:58.330 回答