这个功能意味着什么
function entre2v2($text,$marqueurDebutLien,$marqueurFinLien)
{
$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[1]);
$ar=trim($ar1[0]);
return $ar;
}
在上面的代码中,$ text指的是一个文本文件内容,它是通过以下代码从表单发布的:
$text=file_get_contents($_POST['file']);
任何人都可以描述一下提到的php函数吗?我不明白这两个变量是什么意思
$marqueurFinLien
$marqueurDebutLien
根据第一个答案,我试过了。但它显示错误。
Warning: Missing argument 3 for entre2v2(), called in C:\xampp\htdocs\php\test.php on line 5 and defined in C:\xampp\htdocs\php\test.php on line 13
Notice: Undefined variable: marqueurFinLien in C:\xampp\htdocs\php\test.php on line 18
Notice: Undefined offset: 1 in C:\xampp\htdocs\php\test.php on line 18
Warning: explode() [function.explode]: Empty delimiter in C:\xampp\htdocs\php\test.php on line 18
当我使用以下内容时:
<?
$text=file_get_contents('http://localhost/php/w.txt');
$name=entre2v2($text,"DB_USER', ',');");
echo($name);
echo("<br>");
function entre2v2($text,$marqueurDebutLien,$marqueurFinLien)
{
$ar0=explode($marqueurDebutLien, $text);
$ar1=explode($marqueurFinLien, $ar0[1]);
$ar=trim($ar1[0]);
return $ar;
}
?>
答案 0 :(得分:3)
简而言之,它看起来像是一种解析字符串的方式 - 非常低效和脆弱,我想说。
$ar0 = explode($marqueurDebutLien, $text);
此行将使用$marqueurDebutLien
字符串作为分隔符,将存储在$ text中的字符串分解('爆炸')到子字符串数组中。然后它接受这个数组的第二个元素(即$marqueurDebutLien
之后的内容)并再次打破它:
$ar1 = explode($marqueurFinLien, $ar0[1]);
...现在使用$marqueurFinLien
作为分隔符。
根据定义,此数组的第一个元素是位于$text
和$marqueurDebutLien
'标记子字符串'之间的原始字符串($marqueurFinLien
)中的第一个字符串。它的修剪版本是函数返回的。
为什么效率低下,你可能会问?实际上有几件小事情可以很容易地改进:explode
的限制,因此只处理一小部分,立即返回trim
的结果,而不是将其存储在某个变量中。 ..
但事实上,整个方法都存在缺陷。看看这个:
function notSoMysticEntre2v2($text, $openingDelimiter, $closingDelimiter) {
$mark1 = strpos($text, $openingDelimiter);
if ($mark1 === FALSE) {
return null;
}
$mark2 = strpos($text, $closingDelimiter, $mark1);
if ($mark2 === FALSE) {
return null;
}
$data = substr($text, $mark1 + 1, $mark2 - $mark1 - 1);
return trim($data);
}
请注意,此函数比第一个函数更加简单:它将正确地无法解析字符串(返回null
作为错误的标志)如果没有开放分隔符或者如果它不是然后关闭分隔符。
答案 1 :(得分:1)
该函数似乎在输入$marqueurDebutLien
的{{1}}和$marqueurFinLien
字符串之间返回文字。
e.g。
$text