-1

我有一个 PHP 页面,它从用引号括起来的外部源获取文本。我该如何剥离它们?
例如:

input: "This is a text"
output: This is a text

请使用完整的 PHP 编码而不是正则表达式来回答...

4

3 回答 3

5

这会很好地工作,除非您有带有多个引号的字符串,例如"""hello"""输入,并且您想要保留除最外层之外"的所有字符串:

$output = trim($input, '"');

trim从作为第二个参数传入的 charlist 中字符串的开头和结尾去除所有某些字符(在本例中为")。如果你不传入第二个参数,它会修剪空格。

如果多个前导和结束引号的情况是一个问题,您可以使用:

$output = preg_replace('/^"|"$/', '', $input);

它仅用空字符串替换一个前导或尾随引号,例如:

""This is a text""变成"This is a text"

于 2012-03-20T14:48:50.393 回答
1
$output = str_replace('"', '', $input);

当然,这将删除所有引号,甚至从字符串内部。这是你想要的吗?有多少这样的字符串?

于 2012-03-20T14:49:13.630 回答
0

问题是如何使用正则表达式(可能是出于好奇/学习目的)。

这就是您在 php 中执行此操作的方式:

$result = preg_replace('/(")(.*?)(")/i', '$2', $subject);

希望这会有所帮助,巴克利

于 2012-03-20T15:06:32.140 回答