我有一个 PHP 页面,它从用引号括起来的外部源获取文本。我该如何剥离它们?
例如:
input: "This is a text"
output: This is a text
请使用完整的 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);
希望这会有所帮助,巴克利