Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 段塞输入字段检查功能不可用';我不能正常工作_Php_Function - Fatal编程技术网

Php 段塞输入字段检查功能不可用';我不能正常工作

Php 段塞输入字段检查功能不可用';我不能正常工作,php,function,Php,Function,我的slug url是由标题组成的,所以我有基本的slug函数,我自己的一个负责检查slug输入字段是否为空并执行一些操作,但它不能正常工作。。也许有人知道我做错了什么 下面是基本的slug函数: function slug($text){ // replace non letter or digits by - $text = preg_replace('~[^\pL\d]+~u', '-', $text); // transliterate $text

我的slug url是由标题组成的,所以我有基本的slug函数,我自己的一个负责检查slug输入字段是否为空并执行一些操作,但它不能正常工作。。也许有人知道我做错了什么

下面是基本的slug函数:

function slug($text){ 

    // replace non letter or digits by -
    $text = preg_replace('~[^\pL\d]+~u', '-', $text);

    // transliterate
    $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

    // remove unwanted characters
    $text = preg_replace('~[^-\w]+~', '', $text);

    // trim
    $text = trim($text, '-');

    // remove duplicated - symbols
    $text = preg_replace('~-+~', '-', $text);

    // lowercase
    $text = strtolower($text);

    if (empty($text)) {
      return 'n-a';
    }

    return $text;
}
function filterSlug($ax, $bx){
    if(isset($_POST[$ax]) && $_POST[$ax] != ''){ 
        $ax = slug($ax);
    } else { 
        $ax = slug($bx);
    }
    return $ax;
}
下面是我编写的函数(无法正常工作):

我说:

filterSlug($postSlug, $postTitle);
以下是我在其他页面中复制的代码:

if(isset($_POST['postSlug']) && $_POST['postSlug'] != ''){
                    $postSlug = slug($postSlug);
                } else {
                    $postSlug = slug($postTitle);
                } 

这个工作正常

您必须从函数返回某些内容:

function slug($text){ 

    // replace non letter or digits by -
    $text = preg_replace('~[^\pL\d]+~u', '-', $text);

    // transliterate
    $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

    // remove unwanted characters
    $text = preg_replace('~[^-\w]+~', '', $text);

    // trim
    $text = trim($text, '-');

    // remove duplicated - symbols
    $text = preg_replace('~-+~', '-', $text);

    // lowercase
    $text = strtolower($text);

    if (empty($text)) {
      return 'n-a';
    }

    return $text;
}
function filterSlug($ax, $bx){
    if(isset($_POST[$ax]) && $_POST[$ax] != ''){ 
        $ax = slug($ax);
    } else { 
        $ax = slug($bx);
    }
    return $ax;
}

您必须从函数返回某些内容:

function slug($text){ 

    // replace non letter or digits by -
    $text = preg_replace('~[^\pL\d]+~u', '-', $text);

    // transliterate
    $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);

    // remove unwanted characters
    $text = preg_replace('~[^-\w]+~', '', $text);

    // trim
    $text = trim($text, '-');

    // remove duplicated - symbols
    $text = preg_replace('~-+~', '-', $text);

    // lowercase
    $text = strtolower($text);

    if (empty($text)) {
      return 'n-a';
    }

    return $text;
}
function filterSlug($ax, $bx){
    if(isset($_POST[$ax]) && $_POST[$ax] != ''){ 
        $ax = slug($ax);
    } else { 
        $ax = slug($bx);
    }
    return $ax;
}

但是您在
filterSlug
中没有返回任何内容,您只需更改本地值,该值随后丢失。如果您的PHP足够新,我建议将
filterSlug
替换为:
$postSlug=slug($\u POST['postSlug']??$postTitle)
但是您在
filterSlug
中没有返回任何内容,您只需更改本地值,该值随后丢失。如果您的PHP足够新,我建议将
filterSlug
替换为:
$postSlug=slug($\u POST['postSlug']?$postTitle)返回$ax;函数仅在字段不为空时起作用?这一行:$postslaug=slug($_POST['postslaug']??$postTitle);带到:slug函数:返回'n-a';如果$ax和$bx为空,函数将返回
n-a
。尝试
echo filterSlug($postSlug,$postTitle)
如果我将postSlug字段保留为空,则此项应该可以工作($postSlug=slug($postTitle);),但它不工作?您的签入筛选器签入函数是一个动态检查:
如果(isset($\u POST[$ax])&&$\u POST[$ax]!=“”
。试着转换成:
if(isset($\u POST['postslaug'])和&$\u POST['postslaug']!=”)
并告诉我它是否执行了返回$ax的trickw;函数仅在字段不为空时起作用?这一行:$postslaug=slug($_POST['postslaug']??$postTitle);带到:slug函数:返回'n-a';如果$ax和$bx为空,函数将返回
n-a
。尝试
echo filterSlug($postSlug,$postTitle)
如果我将postSlug字段保留为空,则此项应该可以工作($postSlug=slug($postTitle);),但它不工作?您的签入筛选器签入函数是一个动态检查:
如果(isset($\u POST[$ax])&&$\u POST[$ax]!=“”
。试着转换成:
if(isset($\u POST['postslaug'])和&$\u POST['postslaug']!=”)
并告诉我是否成功