我有一个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