我有一个PHP页面,它从包含在引号中的外部源获取文本。如何剥离它们?
例如:
input: "This is a text"
output: This is a text
请回答完整的PHP编码,而不仅仅是正则表达式...
答案 0 :(得分:5)
除非你有像"""hello"""
这样的多个引号的字符串作为输入,并且你想要保留除最外面的"
以外的所有字符串,否则这将非常有效:
$output = trim($input, '"');
trim从charlist中的字符串的开头和结尾删除所有特定字符,该字符串作为第二个参数传递(在本例中只是"
)。如果你没有传入第二个参数,它会修剪空格。
如果多个前导和结尾引号的情况是个问题,您可以使用:
$output = preg_replace('/^"|"$/', '', $input);
它只用空字符串替换一个前导或尾随引号,例如:
""This is a text""
变为"This is a text"
答案 1 :(得分:1)
$output = str_replace('"', '', $input);
当然,这将删除所有引号,即使从字符串内部也是如此。这是你想要的吗?有多少这样的字符串?
答案 2 :(得分:0)
问题在于如何使用正则表达式(可能出于好奇/学习目的)。
这就是你在php中的表现:
$result = preg_replace('/(")(.*?)(")/i', '$2', $subject);
希望这有帮助, 巴克利