Trim对我的要求不够好吗?

时间:2012-10-29 16:55:19

标签: php string

$x = "''xx''";

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

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

我希望它只删除一个引用。

3 个答案:

答案 0 :(得分:4)

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

或者,如果您厌恶使用正则表达式:

if (substr($x, 0, 1) === "'") {
    $x = substr($x, 1);
}
if (substr($x, -1) === "'") {
    $x = substr($x, 0, -1);
}

答案 1 :(得分:0)

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

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

http://ideone.com/RhqglD

答案 2 :(得分:0)

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

$string = "'test'";
if ($string[0] === "'") {
    $string = substr($string, 1);
}
if ($string[strlen($string) - 1] === "'") {
    $string = substr($string, 0, -1);
}