我有一个 rawurlencoded 字符串,想要获取从字符串开头到 rawurlencoded 换行符 (
%0A
) 或回车符 (%0D
) 或整个字符串(如果两者都不在字符串中)的所有内容。
示例
从这些字符串:
First%20sentence.%0D%0ASecond%20Sentence.
Just%20one%20sentence.
我想得到这些字符串:
First%20sentence.
Just%20one%20sentence.
基本上我想要一个类似于
strtok($string, "\R")
的函数,但这不起作用,因为字符串是原始编码的,并且换行符和回车符已转换为每个三个字符的序列。
这是一个很好的方法:
function getFirstLine ($query)
{
$lines = preg_split('~(?:%0A|%0D)~', $query);
return $line[0];
}
然后你可以像这样使用它:
$x = 'First%20sentence.';
echo getFirstLine($x), "\n"; // First%20sentence.
$y = 'First%20sentence.%0ASecond%20Sentence.';
echo getFirstLine($x), "\n"; // First%20sentence.
$z = 'First%20sentence.%0DSecond%20Sentence.';
echo getFirstLine($x), "\n"; // First%20sentence.