从PHP中的引号中提取文本


Extract text from quotation marks in PHP

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

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

请用完整的PHP代码回答,而不仅仅是正则表达式。。。

这将非常好地工作,除非您有多个引号(如"""hello""")作为输入的字符串,并且您希望保留除最外层的"之外的所有字符串:

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

trim从charlist中作为第二个参数传入的字符串(在本例中仅为")的开头和结尾剥离所有特定字符。如果不传入第二个参数,它会修剪空白

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

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

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

""This is a text""变为"This is a text"

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

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

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

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

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

希望这能有所帮助,Buckley