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

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

このプログラムでは、最初から1つ、最後から1つだけ引用符をトリミングします。Trimは、開始と終了からすべての一重引用符を削除します。

引用符が1つだけ削除されるといいのですが。

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 に答える