从PHP中的引号中提取文本

时间:2012-03-20 14:47:27

标签: php regex quotations

我有一个PHP页面,它从包含在引号中的外部源获取文本。如何剥离它们?
例如:

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

请回答完整的PHP编码,而不仅仅是正则表达式...

3 个答案:

答案 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);

希望这有帮助, 巴克利