返回 PHP 中字符序列之前的字符串部分

问题描述 投票:0回答:1

我有一个 rawurlencoded 字符串,想要获取从字符串开头到 rawurlencoded 换行符 (

%0A
) 或回车符 (
%0D
) 或整个字符串(如果两者都不在字符串中)的所有内容。

示例

从这些字符串:

First%20sentence.%0D%0ASecond%20Sentence.
Just%20one%20sentence.

我想得到这些字符串:

First%20sentence.
Just%20one%20sentence.

基本上我想要一个类似于

strtok($string, "\R")
的函数,但这不起作用,因为字符串是原始编码的,并且换行符和回车符已转换为每个三个字符的序列。

php string substring
1个回答
0
投票

这是一个很好的方法:

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.
© www.soinside.com 2019 - 2024. All rights reserved.